Part Number Hot Search : 
MAX14531 2N650 120EE SY55855V 120EE SA120 AT27C SY55855V
Product Description
Full Text Search
 

To Download MAX17201 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  general description the max1720x/max1721x are ultra-low power stand-alone fuel gauge ics that implement the maxim modelgauge? m5 algorithm without requiring host interaction for configura - tion. this feature makes the max1720x/max1721x excellent pack-side fuel gauges. the MAX17201/max17211 monitor a single cell pack. the max17205/max17215 monitor and bal - ance a 2s or 3s pack or monitor a multiple-series cell pack. to prevent battery pack cloning, the ics integrate sha- 256 authentication with a 160-bit secret key. each ic incorporates a unique 64-bit id. the modelgauge? m5 algorithm combines the short-term accuracy and linearity of a coulomb counter with the long- term stability of a voltage-based fuel gauge, along with temperature compensation to provide industry-leading fuel gauge accuracy. the ic automatically compensates for cell aging, temperature, and discharge rate, and pro - vides accurate state of charge (soc) in milliampere-hours (mah) or percentage (%) over a wide range of operating conditions. as the battery approaches the critical region near empty, the modelgauge m5 algorithm invokes a spe - cial error correction mechanism that eliminates any error. the ics provide accurate estimation of time-to-empty and time-to-full, cycle+? age forecast, and three methods for reporting the age of the battery: reduction in capacity, increase in battery resistance, and cycle odometer. the ics provide precision measurements of current, voltage, and temperature. temperature of the battery pack is mea - sured using an internal temperature measurement and up to two external thermistors supported by ratiometric measure - ments on auxiliary inputs. a maxim 1-wire ? (max17211/ max17215) or 2-wire i 2 c (MAX17201/max17205) inter - face provides access to data and control registers. the ics are available in lead-free, 3mm x 3mm, 14-pin tdfn and 1.6mm x 2.4mm 15-bump wlp packages. applications smartphones and tablets portable game players e-readers digital still and video cameras handheld computers and terminals portable medical equipment handheld radios benefts and features modelgauge m5 algorithm ? eliminates error when approaching empty voltage ? eliminates coulomb-counter drift ? current, temperature, and age compensated ? does not require empty, full, or idle states ? no characterization required for ez performance (see the modelgauge m5 ez performance section) ? cycle+ age forecasting observes lifespan nonvolatile memory for stand-alone operation ? learned parameters and history logging ? up to 75 words available for user data precision measurement system ? no calibration required time-to-empty and time-to-full estimation temperature measurement ? die temperature ? up to two external thermistors multiple series cell pack operation low quiescent current ? max172x1: 18a active, 9a hibernate ? max172x5: 25a active, 12a hibernate alert indicator for voltage, soc, temperature, current, and 1% soc change high-speed overcurrent comparators predicts remaining capacity under theoretical load sha-256 authentication maxim 1-wire or 2-wire (i 2 c) interface sbs 1.1 compatible register set ordering information appears at end of data sheet. modelgauge and cycle+ are trademarks and 1-wire is a regis - tered trademark of maxim integrated products, inc. 19-8424; rev 2; 8/16 MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication evaluation kit available
maxim integrated 2 pack + pack - max 17201 r sense v batt communication interface single - cell example pack protector 10 ? 0 . 1 f reg 3 cell 1 cell 2 cellx csp csn reg 2 od / scl dq / sda ep ( tdfn ) 0 . 47 f + gnd ( wlp ) 6lpsolhg%orfnldjudp www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 3 general description ............................................................................ 1 simplified block diagram ........................................................................ 2 absolute maximum ratings (tdfn) .............................................................. 13 absolute maximum ratings (wlp) ............................................................... 13 package information .......................................................................... 13 electrical characteristics ....................................................................... 14 typical operating characteristics ................................................................ 19 pin configurations ............................................................................ 23 pin/bump description .......................................................................... 24 functional diagram ........................................................................... 25 detailed description ........................................................................... 25 register description conventions ............................................................... 26 standard register formats .................................................................... 26 device reset ............................................................................ 26 nonvolatile backup and initial value .......................................................... 26 register naming conventions ............................................................... 26 alternate initial and factory default values ....................................................... 27 typical operating circuits ..................................................................... 27 single-cell typical operating circuit (MAX17201/max17211 only) .................................. 27 multicell typical operating circuits (max17205/max17215 only) ................................... 28 cell balancing typical operating circuits (max17205/max17215 only) .............................. 29 modelgauge m5 algorithm .................................................................... 29 modelgauge m5 registers ................................................................. 30 modelgauge m5 algorithm output registers ................................................... 30 repcap register (005h) ................................................................... 30 repsoc register (006h) ................................................................... 33 fullcaprep register (035h) ................................................................ 33 tte register (011h) ....................................................................... 33 ttf register (020h) ....................................................................... 33 age register (007h) ....................................................................... 33 cycles register (017h) ..................................................................... 33 timerh register (0beh) .................................................................... 33 fullcap register (010h) .................................................................... 33 nfullcapnom register (1a5h) ............................................................... 33 rcell register (014h) ...................................................................... 33 vripple register (0bch) ................................................................... 34 nsoc register (1aeh) ..................................................................... 34 nvolttemp register (1aah) ................................................................. 34 table of contents www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 4 modelgauge m5 ez performance ............................................................ 34 ocv estimation and coulomb count mixing ................................................... 36 empty compensation ...................................................................... 38 end-of-charge detection ................................................................... 39 fuel gauge learning ...................................................................... 40 converge-to-empty ....................................................................... 42 determining fuel gauge accuracy ........................................................... 43 initial accuracy ........................................................................... 43 cycle+ age forecasting .................................................................... 43 nagefccfg register (1d2h) ................................................................. 43 ageforecast register (0b9h) ............................................................... 43 age forecasting requirements .............................................................. 44 enabling age forecasting .................................................................. 45 battery life logging ....................................................................... 45 life-logging data example ................................................................. 45 determining number of valid logging entries .................................................. 47 reading history data ...................................................................... 48 history data reading example .............................................................. 48 modelgauge m5 algorithm model registers .................................................... 50 nxtable0 (180h) to nxtable11 (18bh) registers ................................................. 50 nocvtable0 (190h) to nocvtable11 (19bh) registers ........................................... 50 nqrtable00 (1a0h) to nqrtable30 (1a3h) registers ............................................ 50 nfullsocthr register (1c6h) ............................................................... 50 nvempty register (19eh) ................................................................... 50 ndesigncap register(1b3h) ................................................................ 50 nrfastvshdn register (1d5h) ............................................................... 51 nichgterm register (19ch) ................................................................. 51 nrcomp0 register (1a6h) .................................................................. 51 ntempco register (1a7h) .................................................................. 51 niavgempty register (1a8h) ................................................................ 51 modelgauge m5 algorithm configuration registers .............................................. 52 nfiltercfg register (19dh) .................................................................. 52 nrelaxcfg register (1b6h) ................................................................. 52 nlearncfg register (19fh) .................................................................. 53 nmisccfg register (1b2h) .................................................................. 53 nttfcfg register (1c7h) ................................................................... 54 nconvgcfg register (1b7h) ................................................................. 54 nripplecfg register (1b1h) ................................................................. 54 table of contents ( continued ) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 5 modelgauge m5 algorithm additional registers ................................................. 55 timer register (03eh) ..................................................................... 55 dqacc register (045h) .................................................................... 55 dpacc register (046h) ..................................................................... 55 qresidual register (00ch) ................................................................. 55 vfsoc register (0ffh) .................................................................... 55 vfocv register (0fbh) ................................................................... 55 qh register (4dh) ........................................................................ 55 avcap register (01fh) ..................................................................... 55 avsoc register (00eh) .................................................................... 55 mixsoc register (00dh) ................................................................... 55 mixcap register (00fh) .................................................................... 56 vfremcap register (04ah) ................................................................ 56 fstat register (03dh) ..................................................................... 56 modes of operation ......................................................................... 57 status and configuration registers ............................................................. 58 devname register (021h) .................................................................. 58 nromid0 (1bch)/nromid1 (1bdh)/nromid2 (1beh)/nromid3 (1bfh) registers ..................... 58 nrsense register (1cfh) .................................................................. 59 npackcfg register (1b5h) .................................................................. 59 nnvcfg0 register (1b8h) ................................................................... 60 nnvcfg1 register (1b9h) ................................................................... 61 nnvcfg2 register (1bah) .................................................................. 62 shdntimer register (03fh) ................................................................. 63 nconfig register (1b0h) .................................................................... 63 status register (000h) ..................................................................... 65 status2 register (0b0h) .................................................................... 66 nhibcfg register (1b4h) ................................................................... 66 commstat register (061h) .................................................................. 67 cell balancing (max17205/max17215 only) ...................................................... 67 cell balancing window of operation .......................................................... 67 cell balancing order and thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 cell balancing current ..................................................................... 69 cell balancing duty cycle .................................................................. 69 analog measurements ....................................................................... 69 voltage measurement ..................................................................... 69 voltage measurement timing ............................................................... 70 vcell register (009h) ...................................................................... 70 table of contents ( continued ) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 6 table of contents ( continued ) avgvcell register (019h) ................................................................... 70 maxminvolt register (01bh) ................................................................. 71 cell1 (0d8h)/cell2 (0d7h)/cell3 (0d6)/cell4 (0d5h) registers ...................................... 71 avgcell1 (0d4h)/avgcell2 (0d3h)/avgcell3 (0d2h)/avgcell4 (0d1h) registers ......................... 71 cellx register (0d9h) ..................................................................... 71 batt register (0dah) ...................................................................... 71 current measurement ..................................................................... 72 current measurement timing ............................................................... 72 maxmincurr register (01ch) ................................................................ 73 ncgain register (1c8h) .................................................................... 73 cgtempco register (16dh) ................................................................ 73 copper trace current sensing ................................................................. 74 temperature measurement .................................................................... 74 temperature measurement timing ........................................................... 74 avgta register (016h) ..................................................................... 75 maxmintemp register (01ah) ............................................................... 76 ntcurve register (1c9h) ................................................................... 76 ntgain (1cah) register/ntoff (1cbh) register .................................................. 76 temp1 (134h)/temp2 (13bh)/inttemp (135h) registers ............................................ 77 avgtemp1 (137h)/avgtemp2 (139h)/avginttemp (138h) registers ................................... 77 ain0 register (027h) ...................................................................... 77 at-rate functionality ......................................................................... 77 atrate register (004h) .................................................................... 77 atqresidual register (0dch) ............................................................... 77 attte register (0ddh) .................................................................... 77 atavsoc register (0ceh) .................................................................. 77 atavcap register (0dfh) .................................................................. 77 overcurrent comparators ..................................................................... 78 nodscth register (18eh) .................................................................. 78 nodsccfg register (18fh) ................................................................. 79 alert function .............................................................................. 79 nvalrtth register (1c0h) ................................................................... 80 ntalrtth register (1c1h) ................................................................... 80 nsalrtth register (1c2h) ................................................................... 80 nialrtth register (1c3h) ................................................................... 81 memory ................................................................................... 81 modelgauge m5 memory space ............................................................. 82 nonvolatile memory ....................................................................... 83 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 7 table of contents ( continued ) shadow ram ............................................................................ 83 nonvolatile memory commands ............................................................. 84 copy nv block [e904h] ................................................................. 84 nv recall [e001h] ...................................................................... 84 history recall [e2xxh] ................................................................ 84 nonvolatile block programming .............................................................. 85 determining the number of remaining updates ................................................. 85 general-purpose memory .................................................................. 85 memory locks ........................................................................... 90 nv lock [6axxh] ........................................................................ 90 locking memory blocks .................................................................... 90 reading lock state ....................................................................... 90 smart battery compliant operation ............................................................. 90 sbs compliant memory space (max1720x only) ............................................... 91 sfirstused register (136h) ................................................................. 91 scell1 (13fh)/scell2 (13eh)/scell3 (13dh)/scell4 (13ch) registers .................................. 91 savgcell1 (14fh)/savgcell2 (14eh)/savgcell3 (14dh)/savgcell4 (14ch) registers ...................... 91 savcap register (167h) .................................................................... 92 smixcap register (168h) ................................................................... 92 smanfctinfo register (170h) ................................................................. 92 nonvolatile sbs register back-up ........................................................... 92 nsbscfg register (1bbh) .................................................................. 92 ndesignvoltage register (1d3h) ............................................................. 92 ncgain and sense resistor relationship ...................................................... 93 sha-256 authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 authentication procedure .................................................................. 93 alternate authentication procedure ........................................................... 94 secret management ....................................................................... 95 single step secret generation .............................................................. 95 multistep secret generation procedure ....................................................... 96 all oems ............................................................................... 96 determining the number of remaining updates ................................................. 97 authentication commands .................................................................. 97 compute mac without rom id [3600h] ....................................................... 97 compute mac with rom id [3500h] ......................................................... 97 compute next secret without rom id [3000h] ................................................. 97 compute next secret with rom id [3300h] ................................................ 98 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 8 table of contents ( continued ) clear secret [5a00h] .................................................................. 98 lock secret [6000h] ................................................................... 98 device reset ............................................................................... 98 reset commands ........................................................................ 98 hardware reset [000fh to address 060h] ..................................................... 98 fuel gauge reset [0001h to address 0bbh] ................................................... 98 communication ............................................................................. 98 2-wire bus system (MAX17201/max17205 only) ............................................... 98 hardware configuration .................................................................... 99 i/o signaling ............................................................................. 99 bit transfer .............................................................................. 99 bus idle ................................................................................ 99 start and stop conditions ............................................................... 99 acknowledge bits ......................................................................... 99 data order ............................................................................. 100 slave address .......................................................................... 100 read/write bit .......................................................................... 100 bus timing ............................................................................. 100 i 2 c protocols ........................................................................... 101 i 2 c write data protocol ................................................................... 101 i 2 c read data protocol ................................................................... 101 sbs protocols .......................................................................... 102 sbs write word protocol .................................................................. 102 sbs read word protocol ................................................................. 103 sbs write block protocol ................................................................. 103 sbs read block protocol ................................................................. 103 packet error checking .................................................................... 104 1-wire bus system (max17211/max17215 only) ............................................... 104 hardware configuration ................................................................... 105 64-bit net address (rom id) .............................................................. 106 i/o signaling ............................................................................ 106 reset time slot ......................................................................... 106 write time slots ......................................................................... 106 read time slots ........................................................................ 108 transaction sequence .................................................................... 108 net address commands .................................................................. 108 read net address [33h] ................................................................... 108 match net address [55h] .................................................................. 108 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 9 table of contents ( continued ) skip net address [cch] ................................................................... 108 search net address [f0h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 1-wire functions ........................................................................ 108 read data [69h, ll, hh] .................................................................. 109 write data [6ch, ll, hh] .................................................................. 109 summary of commands ..................................................................... 110 appendix a: reading history data psuedo-code example ...................................................................... 111 ordering information .......................................................................... 114 revision history .............................................................................. 115 list of figures figure 1. single-cell schematic .................................................................. 27 figure 2. multicell schematics ................................................................... 28 figure 3. cell-balancing circuit schematics ........................................................ 29 figure 4. merger of coulomb counter and voltage-based fuel gauge ................................... 30 figure 5. modelgauge m5 block diagram .......................................................... 31 figure 6. modelgauge m5 registers .............................................................. 32 figure 7. nsoc (1aeh) format when nnvcfg2.ensoc = 1 ............................................ 34 figure 8. nvolttemp (1aah) format when nnvcfg2.envt = 1 .......................................... 34 figure 9. ez configuration performance histogram .................................................. 35 figure 10. ez configuration performance vs. test conditions .......................................... 35 figure 11. voltage and coulomb count mixing ...................................................... 36 figure 12. modelgauge m5 typical accuracy example ............................................... 37 figure 13. handling changes in empty calculation .................................................. 38 figure 14. blocking false end of charge events .................................................... 39 figure 15. fullcaprep learning at end of charge ................................................... 40 figure 16. fullcapnom learning .................................................................. 41 figure 17. converge to empty ................................................................... 42 figure 18. nagefccfg register (1d2h) format ...................................................... 43 figure 19. benefits of age forecasting ............................................................ 44 figure 20. sample life-logging data ............................................................. 46 figure 21. write flag register and valid flag register formats ........................................ 47 figure 22. nfullsocthr (1c6h)/fullsocthr (013h) format ............................................ 50 figure 23. vempty (03ah)/nvempty (19eh) format .................................................. 50 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 10 list of figures ( continued ) figure 24. nrfastvshdn (1d5h) format ........................................................... 51 figure 25. filtercfg (029h)/nfiltercfg (19dh) format ................................................. 52 figure 26. relaxcfg (02ah)/nrelaxcfg (1b6h) format ................................................ 52 figure 27. learncfg (028h)/nlearncfg (19fh) format ................................................. 53 figure 28. misccfg (02bh)/nmisccfg (1b2h) format .................................................. 53 figure 29. nttfcfg (1c7h) format ............................................................... 54 figure 30. nconvgcfg (1b7h) format ............................................................. 54 figure 31. nripplecfg (1b1h) format .............................................................. 54 figure 32. fstat (03dh) format .................................................................. 56 figure 33. cell relaxation detection .............................................................. 56 figure 34. flowchart of operating modes .......................................................... 57 figure 35. devname (021h) format ............................................................... 58 figure 36. nromid (1bch to 1bfh) format ........................................................ 58 figure 37. packcfg (0bdh)/npackcfg (1b5h) format ................................................. 59 figure 38. nnvcfg0 (1b8h) format ............................................................... 60 figure 39. nnvcfg1 (1b9h) format ............................................................... 61 figure 40. nnvcfg2 (1bah) format ............................................................... 62 figure 41. shdntimer (03fh) format .............................................................. 63 figure 42. nconfig (1b0h) format ................................................................ 63 figure 43. config (01dh) format ................................................................. 63 figure 44. config2 (0bbh) format ................................................................ 63 figure 45. status (000h) format ................................................................. 65 figure 46. status2 (0b0h) format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 figure 47. hibcfg (0bah)/nhibcfg (1b4h) format .................................................... 66 figure 48. commstat (061h) format .............................................................. 67 figure 49. cell balancing window of operation ..................................................... 67 figure 50. 2s and 3s balancing circuits ........................................................... 68 figure 51. cell balancing duty cycle ............................................................. 69 figure 52. maxminvolt (01bh)/nmaxminvolt (1ach) format ............................................ 71 figure 53. maxmincurr (01ch)/nmaxmincurr (1abh) format ........................................... 73 figure 54. ncgain register (1c8h) format ......................................................... 73 figure 55. maxmintemp (01ah)/nmaxmintemp (1adh) format ......................................... 76 figure 56. overcurrent comparator diagram ....................................................... 78 figure 57. odscth register (0f2h) and nodscth register (18eh) formats .............................. 78 figure 58. odsccfg register (0f3h) and nodsccfg register (18fh) formats ............................ 79 figure 59. valrtth (001h)/nvalrtth (1c0h) format ................................................... 80 figure 60. talrtth (002h)/ntalrtth (1c1h) format .................................................... 80 figure 61. salrtth (003h)/nsalrtth (1c2h) format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 11 table 1. modelgauge register standard resolutions ................................................. 26 table 2. minimum and maximum cell sizes for age forecasting ........................................ 44 table 3. life logging register summary ........................................................... 45 table 4. decoding history page flags ............................................................ 48 table 5. reading history data ................................................................... 48 table 6. reading history page flags ............................................................. 49 table 7. recommended nrsense register values for common-sense resistors .......................... 59 table 8. fuel gauge temperature input ........................................................... 60 table 9. cell balancing thresholds ............................................................... 68 table 10. voltage measurement timing ............................................................ 70 table 11. current measurement timing ............................................................ 72 table 12. current measurement range and resolution vs. sense resistor value .......................... 72 list of tables list of figures ( continued ) figure 62. ialrtth (0b4h)/nialrtth (1c3h) format .................................................... 81 figure 63. shadow ram and nonvolatile memory relationship ........................................ 84 figure 64. format of lock command ............................................................ 90 figure 65. format of lock register (07fh) ......................................................... 90 figure 66. nsbscfg (1bbh) format ............................................................... 92 figure 67. procedure to verify a battery ........................................................... 93 figure 68. battery authentication without a host-side secret .......................................... 94 figure 69. single step secret generation example .................................................. 95 figure 70. multistep secret generation example .................................................... 96 figure 71. 2-wire bus interface circuitry ........................................................... 99 figure 72. 2-wire bus timing diagram ........................................................... 100 figure 73. example i 2 c write data communication sequence ........................................ 101 figure 74. example i 2 c read data communication sequence ........................................ 102 figure 75. example sbs write word communication sequence ....................................... 102 figure 76. example sbs read word communication sequence ....................................... 103 figure 77. example sbs read block communication sequence ....................................... 104 figure 78. pec crc generation block diagram ................................................... 104 figure 79. 1-wire bus interface circuitry ......................................................... 105 figure 80. 1-wire initialization sequence ......................................................... 106 figure 81. 1-wire write and read time slots ...................................................... 107 figure 82. example 1-wire communication sequences .............................................. 109 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 12 list of tables ( continued ) table 13. copper trace sensing .................................................................. 74 table 14. temperature measurement timing ....................................................... 75 table 15. register settings for common thermistor types ............................................ 76 table 16. top-level memory map ................................................................ 81 table 17. individual registers .................................................................... 82 table 18. modelgauge m5 register memory map ................................................... 82 table 19. nonvolatile register memory map ........................................................ 83 table 20. history recall command functions ....................................................... 84 table 21. number of remaining config memory updates ............................................. 85 table 22. nonvolatile memory configuration options ................................................. 86 table 23. sbs register space memory map ....................................................... 91 table 24. sbs to nonvolatile memory mapping ..................................................... 92 table 25. ncgain register settings to meet sbs compliance .......................................... 93 table 26. number of remaining secret updates .................................................... 97 table 27. 2-wire slave addresses ............................................................... 100 table 28. valid sbs read block registers ........................................................ 103 table 29. 1-wire net address format ............................................................ 106 table 30. all function commands ................................................................ 110 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
v batt to csn (MAX17201/max17211) .................. -0.3v to +6v v batt to csn (max17205/max17215) ............... -0.3v to +22v alrt1 to csn ....................................................... -0.3v to +17v cell1 to csn ....................................... -0.3v to v cell2 + 0.3v cell2 to cell1 ..................................... -0.3v to v batt + 0.3v reg3 to v batt (MAX17201/max17211) ..................... 0v to 0v reg3 to csn (max17205/max17215) .................. -0.3v to +6v ain1, ain2 to csn .................................................. -0.3v to +6v thrm, cellx to csn .......................... -0.3v to v reg3 + 0.3v reg2 to csn ....................................................... -0.3v to +2.2v csp to csn ............................................................... -2v to +2v dq/sda, od/scl to csn ....................................... -0.3v to +6v continuous source current for thrm ............................... 20ma continuous sink current for dq/sda, alrt1 ................... 20ma continuous sink current for batt, cell1, cell2 ........... 50ma operating temperature range ........................... -40c to +85c storage temperature range ............................ -55c to +125c lead temperature (soldering 10s) .................................. +300c soldering temperature (reflow) ....................................... +260c 14 tdfn-ep package code t1433+2c outline number 21-0137 land pattern number 90-0063 thermal resistance, single layer board: junction-to-ambient ( ja ) 54c/w junction-to-case thermal resistance ( jc ) 8c/w thermal resistance, four layer board: junction-to-ambient ( ja ) 41c/w junction-to-case thermal resistance ( jc ) 8c/w 15 wlp package code w151f2+1 outline number 21-100072 thermal resistance, four layer board: junction-to-ambient ( ja ) 62c/w v batt to gnd (MAX17201/max17211) ................. -0.3v to +6v v batt to gnd (max17205/max17215) ............... -0.3v to +22v alrt1 to gnd ...................................................... -0.3v to +17v cell1 to gnd ...................................... -0.3v to v cell2 + 0.3v cell2 to cell1 ..................................... -0.3v to v batt + 0.3v reg3 to v batt (MAX17201/max17211) ..................... 0v to 0v reg3 to gnd (max17205/max17215) ................. -0.3v to +6v ain1, ain2 to gnd ................................................. -0.3v to +6v thrm, cellx to gnd .......................... -0.3v to v reg3 + 0.3v reg2 to gnd ....................................................... -0.3v to +2.2v csp to gnd ............................................................... -2v to +2v dq/sda, od/scl to gnd ...................................... -0.3v to +6v continuous source current for thrm ............................... 20ma continuous sink current for dq/sda, alrt1 ................... 20ma continuous sink current for batt, cell1, cell2 ........... 50ma operating temperature range ........................... -40c to +85c storage temperature range ............................ -55c to +125c lead temperature (soldering 10s) .................................. +300c soldering temperature (reflow) ....................................... +260c absolute maximum ratings (wlp) maxim integrated 13 absolute maximum ratings (tdfn) stresses beyond those listed under absolute maximum ratings may cause permanent damage to the device. these are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. exposure to ab solute maximum rating conditions for extended periods may affect device reliability. package information for the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages . note that a +, #, or - in the package code indicates rohs status only. package drawings may show a different suffix character, but the drawing pertains to the package regardless of rohs status. package thermal resistances were obtained using the method described in jedec specification jesd51-7, using a four-layer board. for detailed information on package thermal considerations, refer to www.maximintegrated.com/thermal-tutorial . www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(v batt = 2.3v to 4.9v (MAX17201/max17211) 4.2v to 20v (max17205/max17215), t a = -40c to 85c, unless otherwise noted. typical values are t a = +25c. see figure 1 , figure 2 , and figure 3 . limits are 100% tested at t a = +25c. limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization.) electrical characteristics parameter symbol conditions min typ max units power supply supply voltage v batt MAX17201/max17211 (notes 1, 2) 2.3 4.9 v max17205/max17215 (notes 1, 2) 4.2 20 startup voltage v batt MAX17201/max17211 (note 1) 2.85 3.0 v shutdown supply current i dd0 single cell, shutdown mode (note 3) 0.7 1.5 a multiple cell, shutdown mode (note 3) 1.5 3.0 hibernate supply current i dd1 hibernate mode average current, single cell (note 3) 9 20 a hibernate mode average current, multiple cell (note 3) 12 25 active supply current i dd2 MAX17201/max17211, not including thermistor measurement current (note 3) 18 35 a max17205/1max17215, not including thermistor measurement current (note 3) 25 40 regulation voltage v reg2 1.8 v v reg3 max17205/max17215 only 3.4 analog-to-digital conversion voltage measurement error v gerr t a = +25c (note 4) -12.5 +12.5 mv (note 4) -25 +25 t a = +25c (note 5) -12.5 +12.5 (note 5) -25 +25 vb gerr t a = +25c (note 6) -30 +30 (note 6) -100 +100 vx gerr t a = +25c (note 7) -0.2 +0.2 % of reading (note 7) -0.5 +0.5 voltage measurement resolution v lsb individual cell 78.125 v vb lsb v batt pin 1.25 mv vx lsb cellx pin 78.125 v voltage measurement range v fs individual cell 2.3 4.9 v vb fs v batt pin 4.2 20.0 vx fs cellx pin 0.92 2.0 current measurement offset error i oerr v csp = 0v, long-term average (note 2) -2.0 -0.7 +0.5 v current measurement gain error i gerr csp between -50mv and +50mv -1 +1 % of reading current measurement resolution i lsb 1.5625 v maxim integrated 14 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(v batt = 2.3v to 4.9v (MAX17201/max17211) 4.2v to 20v (max17205/max17215), t a = -40c to 85c, unless otherwise noted. typical values are t a = +25c. see figure 1 , figure 2 , and figure 3 . limits are 100% tested at t a = +25c. limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization.) parameter symbol conditions min typ max units current measurement range i fs 51.2 mv internal temperature measurement error ti gerr 1 c internal temperature measurement resolution ti lsb ain1, ain2 (note 1) 0.00391 c auxiliary ratiometric measurement error te gerr -0.5 +0.5 % of reading auxiliary ratiometric measurement resolution te lsb 0.001526 % input/output output drive high, thrm v oh i oh = -1ma, v reg3 = 2.3v v reg3 - 0.1 v output drive low, alrt1, sda/dq v ol i ol = 4ma, v reg3 = 2.3v 0.4 v input logic-high, scl/od, sda/dq v ih 1.5 v input logic-low, scl/od, sda/dq v il 0.44 v battery-detach detection threshold v det ain1 as a fraction of the voltage of thrm, ain1 rising (note 1) 91 95 99 % battery-detach detection threshold hysteresis v det-hys ain1 falling 1 % battery-detach comparator delay t toff ain1 step from 70% to 100% of thrm voltage to alrt1 falling, confg register alrtp = 0, ber = 1, fthrm = 1 100 s comparators overcurrent threshold offset error oc oe od or sc comparator -2.5 +2.5 mv overcurrent threshold gain error oc ge od or sc comparator -5.0 +5.0 % of threshold over current comparator delay oc dly od or sc comparator, 20mv minimum input overdrive, delay confgured to minimum 2 s resistance and leakage leakage current, ain1, ain2 i leak ain1, ain2 < reg3 -0.2 0.2 a leakage current, cellx i leak v cellx < 2.0v (note 2) -60 5 +60 na maxim integrated 15 electrical characteristics (continued) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(v batt = 2.3v to 4.9v (MAX17201/max17211) 4.2v to 20v (max17205/max17215), t a = -40c to 85c, unless otherwise noted. typical values are t a = +25c. see figure 1 , figure 2 , and figure 3 . limits are 100% tested at t a = +25c. limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization.) parameter symbol conditions min typ max units leakage current, cell1, cell2, csn, csp, alrt1, thrm i leak v alrt1 < 15v, thrm < reg3 -1 +1 a input resistance, cell2, cell1, csp r vad resistance during voltage sampling (note 15) 1 m input resistance, cellx r cellx 400 m cell-balancing resistance r bal v batt = 12.6v, i bal = 50ma, between v batt -cell2, cell2-cell1, and cell1-csn (tdfn) or cell1-gnd (wlp) 3 9 20 input pulldown current i pd v sda , v scl pins = 0.4v 0.05 0.2 0.4 a timing time-base accuracy t err t a = +25c -1 +1 % sha calculation time t sha 4.5 10 ms thrm precharge time t pre time between turning on the thrm pullup and ain1 or ain2 analog-to-digital conversions 8.48 ms power-on-reset time t por (note 2) 10 ms task period t tp 351.5 ms nonvolatile memory nonvolatile access voltage v nvm for block programming and recalling, applied on v batt (MAX17201/max17211) 3.0 v for block programming and recalling, applied on v batt (max17205/max17215) 4.2 programming supply current i prog current from v batt for block programming 4 10 ma block programming time t block 368 7360 ms page programming time t update sha secret update or learned parameters update 64 1280 ms nonvolatile memory recall time t recall 5 ms write capacity, confguration memory n config (notes 2, 8, 9) 7 writes write capacity, sha secret n secret (notes 2, 8, 9) 5 writes write capacity, learned parameters n learned (notes 2, 8, 9) 202 writes data retention t nv (note 2) 10 years maxim integrated 16 electrical characteristics (continued) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(v batt = 2.3v to 4.9v (MAX17201/max17211) 4.2v to 20v (max17205/max17215), t a = -40c to 85c, unless otherwise noted. typical values are t a = +25c. see figure 1 , figure 2 , and figure 3 . limits are 100% tested at t a = +25c. limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization.) parameter symbol conditions min typ max units 1-wire interface, regular speed time slot t slot 60 120 s recovery time t rec 1 s write-0 low time t low0 60 120 s write-1 low time t low1 1 15 s read-data valid t rdv 15 s reset-time high t rsth 480 s reset-time low t rstl 480 s presence-detect high t pdh 15 60 s presence-detect low t pdl 60 240 s 1-wire interface, overdrive speed time slot t slot 6 16 s recovery time t rec 1 s write-0 low time t low0 6 16 s write-1 low time t low1 1 2 s read-data valid t rdv 2 s reset-time high t rsth 48 s reset-time low t rstl 48 s presence-detect high t pdh 2 6 s presence-detect low t pdl 8 24 s 2-wire interface scl clock frequency f scl (note 10) 0 400 khz bus free time between a stop and start condition t buf 1.3 s hold time (repeated) start condition t hd:sta (note 11) 0.6 s low period of scl clock t low 1.3 s high period of scl clock t high 0.6 s setup time for a repeated start condition t su:sta 0.6 s data hold time t hd:dat (notes 12, 13) 0 0.9 us data setup time t su:dat (note 12) 100 ns rise time of both sda and scl signals t r 5 300 ns maxim integrated 17 electrical characteristics (continued) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(v batt = 2.3v to 4.9v (MAX17201/max17211) 4.2v to 20v (max17205/max17215), t a = -40c to 85c, unless otherwise noted. typical values are t a = +25c. see figure 1 , figure 2 , and figure 3 . limits are 100% tested at t a = +25c. limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization.) note 1: all voltages are referenced to csn in the tdfn package. all voltages are referenced to gnd in the wlp package. note 2: specification is guaranteed by design (gbd), and not production tested. note 3: t a < +50 c, v batt = 4.9v for single cell or 20v for multiple cell. note 4: single cell, cell1 to csp cell voltage between 2.3v and 4.9v. note 5: multiple cell, v batt to cell2, cell2 to cell1, or cell1 to csp, cell voltages between 2.3v and 4.9v; for voltages between 2.3v and 4.9v; for two cells, cell2 must be shorted to cell1. note 6: multiple cell, total v batt voltage, v batt = 4.2v to 20v. note 7: the max17205/max17215 only cellx to csp, per cell voltage of 2.3v to 4.9v. note 8: write capacity numbers shown have one write subtracted for the initial write performed during manufacturing test to set nonvolatile memory to a known value. note 9: due to the nature of one-time programmable memory, write capacity cannot be production tested. follow the nonvolatile memory and sha secret update procedures detailed in the data sheet. note 10: timing must be fast enough to prevent the ic from entering shutdown mode due to bus low for a period greater than the shutdown timer setting. note 11: f scl must meet the minimum clock low time plus the rise/fall times. note 12: the maximum t hd:dat has only to be met if the device does not stretch the low period (t low ) of the scl signal. note 13: this device internally provides a hold time of at least 100ns for the sda signal (referred to the minimum v ih of the scl signal) to bridge the undefined region of the falling edge of scl. note 14: filters on sda and scl suppress noise spikes at the input buffers and delay the sampling instant. note 15: resistance is measured to csn in the tdfn package. resistance is measured to gnd in the wlp package. parameter symbol conditions min typ max units fall time of both sda and scl signals t f 5 300 ns setup time for stop condition t su:sto 0.6 s spike pulse width suppressed by input filter t sp (note 14) 50 ns capacitive load for each bus line c b 400 pf scl, sda input capacitance c bin 6 pf maxim integrated 18 electrical characteristics (continued) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(t a = +25c, unless otherwise noted.) maxim integrated 19 typical operating characteristics 0.0 0.2 0.4 0.6 0.8 1.0 1 2 3 4 current (a) voltage (v) shutdown current vs. supply voltage (MAX17201/max17211) +25 c toc01 - 20c +50 c 0 5 10 15 20 5 10 15 20 current ( a) voltage (v) hibernate current vs. supply voltage (max17205/max17215) +25 c toc04 - 20c +50 c 2s operation 3s operation 4s operation -10 -5 0 5 10 2.4 3.2 4.0 4.8 errror (mv) voltage (v) cell1 voltage adc error (MAX17201/max17211) +25 c toc07 - 20c +50 c 0 0.4 0.8 1.2 1.6 2 5 10 15 20 current ( a) voltage (v) shutdown current vs. supply voltage (max17205/max17215) +25 c toc02 - 20c +50 c 0 10 20 30 1 2 3 4 current ( a) voltage (v) active current vs. supply voltage (MAX17201/max17211) +25 c toc05 - 20c +50 c -10 -5 0 5 10 2.4 3.2 4.0 4.8 error (mv) voltage (v) cell1 voltage adc error (max17205/max17215) +25 c toc08 - 20c +50 c 0 5 10 15 1 2 3 4 current (a) voltage (v) hibernate current vs. supply voltage (MAX17201/max17211) +25 c toc03 - 20c +50 c 0 10 20 30 40 5 10 15 20 current ( a) voltage (v) active current vs. supply voltage (max17205/max17215) +25 c toc06 - 20c +50 c 2s operation 3s operation 4s operation -10 -5 0 5 10 2.4 3.2 4.0 4.8 error (mv) voltage (v) cell2 voltage adc error (max17205/max17215) +25 c toc09 +50 c - 20c www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(t a = +25c, unless otherwise noted.) maxim integrated 20 typical operating characteristics (continued) -10 -5 0 5 10 2.4 3.2 4.0 4.8 error (mv) voltage (v) cell3 voltage adc error (max17205/max17215) +25 c toc10 - 20c +50 c -10 -5 0 5 10 5 10 15 20 error per cell (mv) voltage (v) v batt voltage adc error +25 c toc12 - 20c +50 c 3s operation 4s operation 2s operation -10 -5 0 5 10 2.4 3.2 4.0 4.8 error per cell (mv) cellx scaled voltage (v) cellx voltage adc error +25 c toc11 - 20c +50 c -5.0 -2.5 0.0 2.5 5.0 -5000 -2500 0 2500 5000 error (ma) current (ma) current adc error (MAX17201/max17211) +25 c toc13 - 20c +50 c 10m sense resistor -5.0 -2.5 0.0 2.5 5.0 -5000 -2500 0 2500 5000 error (ma) current (ma) current adc error (max17205/max17215) +25 c toc14 - 20c +50 c 10m sense resistor -100 -50 0 50 100 -5000 -2500 0 2500 5000 error (ma) current (ma) metal trace current sense adc error +25 c toc15 - 20c +50 c recommended operation calibrated cgain (see the metal sensing section and ev kit layout) -10 -5 0 5 10 -40 -15 10 35 60 85 error ( c) temperature ( c) die temperature and thermistor measurement error thermistor toc16 die temp ncp15xh103f03rc thermistor 2.4 2.9 3.4 3.9 4.4 0 10 20 30 40 50 60 70 80 90 100 0 1 2 3 4 cell voltage (v) soc (%) , 7(03(5785( time (hours) response to temperature transient at constant current load battery voltage toc17 repsoc temperature avsoc empty voltage -10 -8 -6 -4 -2 0 2 4 6 8 10 0 10 20 30 40 50 60 70 80 90 100 0 4 8 12 16 error (%) state of charge (%) time (hours) cold discharge (0 c) toc18 repsoc reference soc www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 21 (t a = +25c, unless otherwise noted.) typical operating characteristics (continued) -10 -8 -6 -4 -2 0 2 4 6 8 10 0 10 20 30 40 50 60 70 80 90 100 0 4 8 12 16 error (%) state of charge (%) time (hours) hot discharge (40 c) toc19 repsoc -10 -8 -6 -4 -2 0 2 4 6 8 10 0 10 20 30 40 50 60 70 80 90 100 0 20 40 60 80 100 error (%) state of charge (%) time (hours) zigzag pattern soc accuracy (1/2) toc22 zigzag pattern soc accuracy (1/2) reference soc fuelgauge soc error accurate prediction to empty -10 -8 -6 -4 -2 0 2 4 6 8 10 0 10 20 30 40 50 60 70 80 90 100 0 4 8 12 16 20 error (%) state of charge (%) time (hours) charge and discharge (+20 c) toc20 repsoc -10 -8 -6 -4 -2 0 2 4 6 8 10 0 10 20 30 40 50 60 70 80 90 100 81 85 89 93 97 101 error (%) state of charge (%) time (hours) zigzag pattern soc accuracy (2/2) toc23 reference soc fuelgauge soc error accurate prediction to empty 3.3 3.5 3.7 3.9 4.1 4.3 4.5 0 10 20 30 40 50 60 70 80 90 100 0 4 8 12 16 v cell (v) 677(2)+5*(ru7(03(5785( time (hours) charge and discharge in actual system toc21 soc rep v cell temperature 0 10 20 30 40 50 60 0.0 0.5 1.0 1.5 2.0 cell imbalance (mv) time (hours) cell balancing toc24 start of balancing 2 series 600mah battery figure 3 circuit end of balancing ( balcfg = 10mv) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
(t a = +25c, unless otherwise noted.) 0.0 0.5 1.0 1.5 2.0 2.5 3.0 -3 -2 -1 0 time to full (hours) actual time from full (hours) time to full performance toc26 start of charge actual time to full ttf register full 1200 1400 1600 1800 2000 2200 2400 0 100 200 300 400 500 600 0 100 200 300 400 battery dischaege capacity (mah) ageforecast (cycles) battery cycles age forecast cycle life forecast toc25 discharge capacity battery aged 0.0 0.5 1.0 1.5 2.0 2.5 3.0 -3 -2 -1 0 time to empty (hours) actual time from empty (hours) time to empty performance toc27 start of discharge actual time to empty tte register empty maxim integrated 22 typical operating characteristics (continued) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxim integrated 23 pin confgurations reg 3 csp reg2 MAX17201 max17205 max17211 max17215 tdfn top view (pad side down) v batt cell2 csn ep cell1 thrm cellx dq/sda ain2 ain1 od/scl alrt1 1 1 2 3 4 5 6 7 14 13 12 11 10 9 8 1 5 wlp top view MAX17201/max17205/max17211/max17215 + reg2 gnd csn csp v batt cell2 cell1 ain2 reg3 cellx dq/sda od/scl alrt1 thrm ain1 a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 c1 c2 c3 c4 c5 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
pin/bump name function tdfn wlp 1 c1 reg3 internal 3.4v regulator output. for the max17205/max17215, bypass with an external 0.47f capacitor. for the MAX17201/max17211, connect reg3 to v batt . 2 a4 csp current measurement positive sense point. kelvin connect to cell side of sense resistor. 3 a1 reg2 internal 1.8v regulator output. bypass with an external 0.47f capacitor to csn (tdfn) or gnd (wlp). 4 a3 csn device ground and current measurement negative sense point. kelvin connect to load side of sense resistor. 5 b1 v batt power-supply and battery voltage sense input. connect to positive terminal of cell stack. bypass with rc flter to csn (tdfn) or gnd (wlp). 6 b2 cell2 voltage sense input for measuring cell voltage of second or middle cell. series resistance determines balancing current. also acts as the external divider gate drive when measuring pack voltage on cellx pin. 7 b3 cell1 voltage sense input for measuring voltage of bottom cell. series resistance determines balanc - ing current. 8 a5 alrt1 programmable alert output 9 c5 ain1 auxiliary voltage input 1. auxiliary voltage input from external thermal-measurement network. 10 b4 ain2 auxiliary voltage input 2. auxiliary voltage input from external thermal-measurement network. 11 c4 od/scl serial clock input for i 2 c communication or speed selection for 1-wire communication. input only. for i 2 c communication, connect to the clock terminal of the battery pack. connect to csn for standard speed 1-wire communication. connect to reg3 pin for overdrive 1-wire communica - tion. od/scl has an internal pulldown (ipd) for sensing pack disconnection. 12 c3 dq/sda serial data input/output for both 1-wire and i 2 c communication modes. open-drain output driver. connect to the data terminal of the battery pack. dq/sda has an internal pulldown (ipd) for sensing pack disconnection. 13 c2 cellx high-impedance voltage measurement channel. connect to an external voltage divider for mea - suring cell stacks larger than 4s. 14 b5 thrm thermistor bias connection. connect to the high side of the thermistor resistor-divider circuit. thrm biases to reg3 voltage during ain1 and ain2 measurement. a2 gnd ic ground (wlp only). connect to pack-. keep isolated from csn. ep exposed pad (tdfn only). connect directly to csn. maxim integrated 24 pin/bump description www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
detailed description the max1720x/max1721x ultra-low power stand-alone fuel gauge ics that implement the modelgauge m5 algo - rithm without requiring host interaction for configuration. this feature makes the max1720x/max1721x an excellent pack-side fuel gauge. voltage of the battery pack is mea - sured at the batt, cell2, cell1, cellx, and csp con - nections. current is measured by an external sense resis - tor placed between the csp and csn pins. an external resistive voltage-divider network allows the ic to measure temperature of the battery pack by monitoring the ain1 and ain2 pins. the thrm pin provides a strong pullup for the resistor-divider that is disabled internally when temperature is not being measured. internal die temperature of the ics is also measured. the MAX17201/max17211 monitor a single-cell pack. the max17205/max17215 monitor indi - vidual cells of a 2s or 3s pack or the entire stack voltage of any number of multiple-series cells. the modelgauge m5 algorithm combines the short-term accuracy and linearity of a coulomb-counter with the long- term stability of a voltage-based fuel gauge, along with temperature compensation to provide industry-leading fuel gauge accuracy. additionally, the algorithm does not suffer from abrupt corrections that normally occur in coulomb- counter algorithms, since tiny continual corrections are distributed over time. the max1720x automatically com - pensates for aging, temperature, and discharge rate and provides accurate state of charge (soc) in milliampere- hours (mah) or percentage (%) over a wide range of oper - ating conditions. fuel gauge error always converges to 0% as the cell approaches empty. the ics provide accurate estimation of time-to-empty and time-to-full and provide three methods for reporting the age of the battery: reduc - tion in capacity, increase in battery resistance, and cycle odometer. in addition, age forecasting allows the user to estimate the expected lifespan of the cell. functional diagram maxim integrated 25 m odel g auge m5 core od/scl dq/sda alrt1 csp 32khz oscillator v batt csn reg 3 cell 2 cell 1 ain 1 thrm 12 - bit adc ref 50 50 50 10 mux thrm enable ain 2 reg 3 internal temperature sensor 1 nf 1 nf 1 nf 10 10 pack + pack - optional 2 nd thermistor optional 1 , 2 , or 3 - cell operation optional cell balancing resistors 150 150 4 . 7 v 4 . 7 v 3 . 4 v ldo max 17205 / max 17215 only out in 1 . 8 v ldo 0 . 47 f cellx pack voltage divider circuit optional stack measurement out in reg 2 0 . 47 f i 2 c / 1 - wire interface max 17201 max 17205 max 17211 max 17215 r sense reg 3 protection circuit 0 . 1 f current comparators sha - 256 csn ( tdfn ) gnd ( wlp ) gnd ( wlp only ) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
to prevent battery clones, the ics integrate sha-256 authentication with a 160-bit secret key. every ic also incor - porates a 64-bit unique identification number (rom id). communication to the host occurs over a maxim 1-wire (max17211/max17215) or standard i 2 c interface (MAX17201/max17205). od/scl is an input from the host, and dq/sda is an open-drain i/o pin that requires an external pullup. the alrt1 pin is an output that can be used as an external interrupt to the host processor if certain application conditions are detected. for additional reference material, refer to the following application notes: application note 6258: max1720x/max1721x battery pack implementation guide application note 6259: max1720x/max1721x system side implementation guide application note 6260: max1720x/max1721x host software implementation guide register description conventions the following sections define standard conventions used throughout the data sheet to describe register functions and device behavior. any register that does not match one of the following data formats is described as a special register standard register formats unless otherwise stated during a given register's descrip - tion, all ic registers follow the same format depending on the type of register. see table 1 for the resolution and range of any register described hereafter. note that cur - rent and capacity values are displayed as a voltage and must be divided by the sense resistor to determine amps or amp-hours. it is strongly recommended to use the nrsense (1cfh) register to store the sense resistor value for use by host software. device reset device reset refers to any condition that would cause the ics to recall nonvolatile memory into ram locations and restart operation of the fuel gauge. device reset refers to initial power up of the ic, temporary power loss, or reset through the software power-on-reset command. nonvolatile backup and initial value all configuration register locations have nonvolatile mem - ory backup that can be enabled with control bits in the nnvcfg0, nnvcfg1, and nnvcfg2 registers. if enabled, the associated registers are initialized to their corre - sponding nonvolatile register value after device reset. if nonvolatile backup is disabled, the register restores to an alternate initial value instead. see each register descrip - tion for details. register naming conventions register addresses are described throughout the doc - ument as 9-bit internal values from 000h to 1ffh. these addresses must be translated to 8-bit values for the max1720x (i 2 c) or 16-bit external values for the max1721x (1-wire). see the memory section for details. register names that start with a lower case n, such as npackcfg for example, indicate the register is a nonvolatile memory location. register names that start with a lower case s indicate the register is part of the sbs compliant register block. register type lsb size minimum value maximum value notes capacity 5.0vh/r sense 0.0vh 327.675mvh/ r sense equivalent to 0.5ma with a 0.010 sense resistor. percentage 1/256% 0.0% 255.9961% 1% lsb when reading only the upper byte. voltage 0.078125mv 0.0v 5.11992v current 1.5625v/ r sense -51.2mv/ r sense 51.1984mv/ r sense signed 2's complement format. equivalent to 156.25a with a 0.010 sense resistor. temperature 1/256c -128.0c 127.996c signed 2's complement format. 1c lsb when reading only the upper byte. resistance 1/4096 0.0 15.99976 time 5.625s 0.0s 102.3984h special format details are included with the register description. table 1. modelgauge register standard resolutions maxim integrated 26 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
alternate initial and factory default values if nonvolatile backup of a memory location is disabled, that location initializes to its alternate initial value after reset. the factory default value is the initial value stored in nonvolatile memory at the factory. see table 22 . typical operating circuits the typical operating circuit for the max1720x/max1721x depends on the series cell count of the cell stack to be monitored and which features of the ics are desired. the following sections show the five most common typical operating circuits when mounted inside of a cell pack. single-cell typical operating circuit (MAX17201/max17211 only) in the single-cell operating circuit example shown in figure 1 , the MAX17201/max17211 is mounted outside of the protector circuit to allow communication to the pack even when the protection fets are disabled. take care to avoid exceeding the maximum operating voltage on any pin under fault conditions. the single-cell versions of the ics do not contain a 3.4v regulator. reg3 must be connected directly to the v batt pin. a single thermistor circuit measures cell temperature leaving the ain2 input available for additional adc measurements if desired. resistors and clamping diodes protect all input pins from esd. connect the exposed pad (tdfn only) directly to the csn pin. figure 1. single-cell schematic maxim integrated 27 10 0 . 1 f od /scl dq/sda alrt1 csp v batt csn ain1 thrm pack + pack - 150 150 4 . 7 v 4 . 7 v max 17201 max 17211 reg 3 reg 2 0 . 47 f 10 n 10 n17 1 n 4 . 7 v cellx cell 2 cell 1 protection circuit r sense 0 . 010 ain 2 ep ( tdfn ) packcfg = 0 x 1 c 01 gnd ( wlp ) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
multicell typical operating circuits (max17205/max17215 only) the max17205/max17215 is designed for use in multi- cell packs as shown in figure 2 . when used in con - junction with a low-side protection circuit, individual cell measurements and cell balancing are not available. for 2s to 4s configuration packs, the ics monitor the entire stack voltage from the v batt pin. set packcfg.bten = 1, cxen = 0 and chen = 0 for operation with this schematic. for packs that are larger than 4s, a resistor divider cir - cuit is used. the cellx pin measures the divided stack voltage and cell2 controls the divider circuit to limit current drain. set packcfg.cxen = 1, bten = 0, chen = 0 for operation with this schematic. for cell stacks larger than 4s, a simple regulator circuit clamps the voltage on v batt below the maximum allowed. take care to avoid exceeding the maximum operating voltage on any pin under fault conditions. the resistor divider on cellx should be calculated as follows: resistor from cellx to pack-: 200k resistor from cellx to v batt : (2.5 * number of cells - 1) x 200k figure 2. multicell schematics maxim integrated 28 50 0 . 1 f od / scl dq / sda alrt 1 csp v batt csn ain 1 thrm pack + pack - 150 150 4.7v 4.7v max17205 max17215 reg 2 0 . 47 f 10n ntc 1 n 4 . 7 v cellx cell 2 cell 1 protection circuit r sense 0 . 010 ep ( tdfn ) reg 3 0 . 47 f ain 2 500 n 1 f od / scl dq / sda alrt 1 csp v batt csn ain 1 thrm pack + pack - 150 150 4 . 7 v 4 . 7 v reg 2 0 . 47 f 1 n 4 . 7 v cellx cell 2 cell 1 protection circuit r sense 0 . 010 ep ( tdfn ) reg 3 0 . 47 f ain 2 cell pack configurations more than 4 s 2 s to 4 s cell pack configurations cell 1 cell 2 cell n ( 2 . 5 n - 1 ) x 200 n 200 n 10 n 10 n max 17205 max 17215 18 v 10 n ntc 10 n ntc 10 n cell 1 cell n packcfg = 0 x 3 a 0 n n = number of cells packcfg = 0 x 390 n n = number of cells 10 n ntc gnd ( wlp ) gnd ( wlp ) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
cell balancing typical operating circuits (max17205/max17215 only) in multicell configuration packs, if the max17205/ max17215 is used in conjunction with a high-side protec - tion circuit, the ics can monitor the individual cell voltages and perform cell balancing as shown in figure 3 . in the following 2s and 3s examples, the voltage of each cell is monitored independently. external 100 resistors on the cell1 and cell2 pins limit current through the balanc - ing circuits to approximately 30ma. balancing resistors are added to every other pin so that each balancing loop con - tains a single limiting resistor. leave the cellx pin open. set packcfg.chen = 1 for operation with this schematic. modelgauge m5 algorithm classical coulomb-counter-based fuel gauges have excellent linearity and short-term performance. however, they suffer from drift due to the accumulation of the offset error in the current-sense measurement. although the offset error is often very small, it cannot be eliminated, causes the reported capacity error to increase over time, and requires periodic corrections. corrections are usually performed at full or empty. some other systems also use the relaxed battery voltage to perform corrections. these systems determine the true state of charge (soc) based on the battery voltage after a long time of no current flow. both have the same limitation: if the correction condition is not observed over time in the actual application, the error in the system is boundless. the performance of classic coulomb counters is dominated by the accuracy of such corrections. voltage measurement based soc estimation has accuracy limitations due to imperfect cell modeling, but does not accumulate offset error over time. the ics include an advanced voltage fuel gauge (vfg) that estimates open-circuit voltage (ocv), even during current flow, and simulates the nonlinear internal dynam - ics of a li+ battery to determine the soc with improved accuracy. the model considers the time effects of a bat - tery caused by the chemical reactions and impedance in the battery to determine soc. this soc estimation does not accumulate offset error over time. figure 3. cell-balancing circuit schematics maxim integrated 29 10 1nf od /scl dq/sda alrt1 csp batt csn ain1 thrm pack+ pack- 150 150 4.7v 4.7v max17205 max17215 reg 2 0.47f 10n 10n ntc 1n 4.7v cell2 cell1 protection circuit r sense 0.010 ep (tdfn) reg3 0.47f ain2 10n ntc 10n 3s balancing configuration with high -side protector 2s balancing configuration with high -side protector cellx 100 1nf 1nf od/scl dq/sda alrt1 csp v batt csn ain1 thrm pack+ pack- 150 150 4.7v 4.7v reg2 0.47f 1n 4.7v cell2 cell1 protection circuit r sense 0.010 ep (tdfn) reg3 0.47f ain2 cellx 100 1nf 10 1nf max17205 max17215 10n 10n ntc 10n 0.1f 0.1f packcfg = 0x3c62 packcfg = 0x3c63 10n ntc 100 gnd (wlp) gnd (wlp) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
the modelgauge m5 algorithm combines a high-accuracy coulomb counter with a vfg. see figure 4 and figure 5 . the complementary combined result eliminates the weak - nesses of both the coulomb counter and the vfg while providing the strengths of both. a mixing algorithm weighs and combines the vfg capacity with the coulomb counter and weighs each result so that both are used optimally to determine the battery state. in this way, the vfg capacity result is used to continuously make small adjustments to the battery state, canceling the coulomb-counter drift. the modelgauge m5 algorithm uses this battery state information and accounts for temperature, battery cur - rent, age, and application parameters to determine the remaining capacity available to the system. as the battery approaches the critical region near empty, the modelgauge m5 algorithm invokes a special error correc - tion mechanism that eliminates any error. the modelgauge m5 algorithm continually adapts to the cell and application through independent learning rou - tines. as the cell ages, its change in capacity is monitored and updated and the voltage-fuel-gauge dynamics adapt based on cell-voltage behavior in the application. modelgauge m5 registers for accurate results, modelgauge m5 uses information about the cell and the application as well as the real- time information measured by the ic. figure 6 shows inputs and outputs to the algorithm grouped by category. analog input registers are the real-time measurements of voltage, temperature, and current performed by the ic. application-specific registers are programmed by the cus - tomer to reflect the operation of the application. the cell characterization information registers hold characteriza - tion data that models the behavior of the cell over the oper - ating range of the application. the algorithm configuration registers allow the host to adjust performance of the ic for its application. the learned information registers allow an application to maintain accuracy of the fuel gauge as the cell ages. the register description sections describe each register function in detail. modelgauge m5 algorithm output registers the following registers are outputs from the modelgauge m5 algorithm. the values in these registers become valid 480ms after the ics are reset. repcap register (005h) register type: capacity nonvolatile backup: none repcap or reported capacity is a filtered version of the avcap register that prevents large jumps in the reported value caused by changes in the application such as abrupt changes in temperature or load current. see the fuel-guage empty compensation section for details. figure 4. merger of coulomb counter and voltage-based fuel gauge maxim integrated 30 coulomb counter capacity q ? full , empty , and standby state detection unnecessary modelgauge % soc microcorrections very slow influence www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
figure 5. modelgauge m5 block diagram maxim integrated 31 + - + ocv calculation ( ocv output ) voltage capacity learn ( mah per percent ) relaxed cell detection ocv temperature compensation learn ocv table lookup (% remaining output ) coulomb counter ( mah output ) current time application outputs : r ep soc register r ep c ap register a v soc register a v c ap register tte / a t tte / ttf registers f ull c ap register end - of - charge detection application empty compensation based on application temperature and discharge rate mixing algorithm ( mah output ) m ix c ap r egister m ix soc r egister c ell c hemistry o utputs : vfocv register c ycles register rf ast register f ull c ap n om resgister a ge register empty detection www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
figure 6. modelgauge m5 registers maxim integrated 32 characterization table characterization table vc ell c urrent t emperature modelgauge m5 algorithm n f ilter c fg n r elax c fg n m isc c fg a vg vc ell a vg c urrent a vg t emperature characterization tables n d esign c ap n ic hg t erm n qrt able 00,10,20,30 n f ull soct hr n rc omp 0 n f ull c ap n om n ve mpty analog inputs application specific cell characterization information learned information m odel g auge algorithm outputs algorithm configuration a t r ate f ull c ap n om cycles t imer h n qrt able 00,10,20,30 n ia vg e mpty rc omp 0 t emp c o f ull c ap r ep vr ipple age tte/ttf/a t tte vfocv/vfsoc rcell a ge f orecast m ix c ap /m ix soc f ull c ap f ull c ap r ep r ep c ap /r ep soc a v c ap /a v soc f ull c ap n om n d esign v oltage n l earn c fg cycles n a ge f c c fg n t emp c o n cvc fg n c onvg c fg n r ipple c fg n ia vg e mpty www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
repsoc register (006h) register type: percentage nonvolatile backup: none repsoc is a filtered version of the avsoc register that prevents large jumps in the reported value caused by changes in the application such as abrupt changes in load current. repsoc corresponds to repcap and fullcaprep. repsoc is intended to be the final state of charge percentage output for use by the application. see the empty compensation section for details. fullcaprep register (035h) register type: capacity nonvolatile backup and restore from: nfullcaprep (1a9h) or nfullcapnom (1a5h). see nnvcfg2.enfc. this register reports the full capacity that goes with repcap, generally used for reporting to the user. a new full-capacity value is calculated at the end of every charge cycle in the application. tte register (011h) register type: time nonvolatile backup: none the tte register holds the estimated time to empty for the application under present temperature and load conditions. the tte value is determined by dividing the avcap register by the avgcurrent register. the corre - sponding avgcurrent filtering gives a delay in tte empty, but provides more stable results. ttf register (020h) register type: time nonvolatile backup: none the ttf register holds the estimated time to full for the application under present conditions. the ttf value is determined by learning the constant-current and con - stant-voltage portions of the charge cycle based on expe - rience of prior charge cycles. time to full is then estimated by comparing present charge current to the charge ter - mination current. operation of the ttf register assumes all charge profiles are consistent in the application. see graph 26 in the typical operating characteristics section for sample performance. age register (007h) register type: percentage nonvolatile backup: none the age register contains a calculated percentage value of the applications present cell capacity compared to its expected capacity. the result can be used by the host to gauge the battery pack health as compared to a new pack of the same type. the equation for the register output is: age register = 100% x (fullcapnom register/designcap register) cycles register (017h) register type: special nonvolatile backup and restore: ncycles (1a4h) the cycles register maintains a total count of the number of charge/discharge cycles of the cell that have occurred. the result is stored as a percentage of a full cycle. for example, a full charge/discharge cycle results in the cycles register incrementing by 100%. the cycles regis - ter has a full range of 0 to 10485 cycles with a 16.0% lsb. cycles is periodically saved to ncycles to provide a long term nonvolatile cycle count. timerh register (0beh) register type: special nonvolatile backup and restore: ntimerh (1afh) if nnvcfg2.ent is set alternate initial value: 0x0000 this register allows the ics to track the age of the cell. an lsb of 3.2 hours gives a full-scale range for the register of up to 23.94 years. if enabled, this register is periodically backed up to nonvolatile memory as part of the learning function. fullcap register (010h) register type: capacity nonvolatile restore: derived from nfullcapnom (1a5h) this register holds the calculated full capacity of the cell based on all inputs from the modelgauge m5 algorithm including empty compensation. a new full-capacity value is calculated continuously as application conditions change. nfullcapnom register (1a5h) register type: capacity nonvolatile backup and restore: fullcapnom (023h) this register holds the calculated full capacity of the cell, not including temperature and empty compensation. a new full-capacity nominal value is calculated each time a cell relaxation event is detected. this register is used to calculate other outputs of the modelgauge m5 algorithm. rcell register (014h) register type: resistance nonvolatile backup: none initial value: 0x0290 maxim integrated 33 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
the rcell register displays the calculated internal resis - tance of the cell, or average internal resistance of each cell in the cell stack. rcell is determined by comparing open- circuit voltage (vfocv) against measured voltage (vcell) over a long time period while under load or charge current. vripple register (0bch) register type: special nonvolatile backup: none initial value: 0x0000 the vripple register holds the slow average rms value of vcell register reading variation compared to the avgvcell register. the default filter time is 22.5s. see the nripplecfg register (1b1h) description. vripple has an lsb weight of 1.25mv/128. nsoc register (1aeh) register type: special nonvolatile backup: vfsoc and mixsoc registers if nnvcfg2.ensoc = 1 this register has dual functionality depending on con - figuration settings. if nnvcfg2.ensoc = 1, this register provides nonvolatile backup of the mixsoc and vfsoc registers as shown in figure 7 . alternatively, if nnvcfg0.enaf = 1, this register stores a filtered version of the fullcapnom register value to be used with the age forecasting algorithm. regardless of which option is enabled, this register is periodically saved to non - volatile memory as part of the learning function. if neither option is enabled, this register can be used as general- purpose user memory. nvolttemp register (1aah) register type: special nonvolatile backup: avgvcell and avgta registers if nnvcfg2.envt = 1 this register has dual functionality depending on con - figuration settings. if nnvcfg2.envt = 1, this register provides nonvolatile back up of the avgvcell and avgta registers as shown in figure 8 . alternatively, if nnvcfg0.enaf = 1, this register stores an accumulated age slope value for use with the age forecasting algorithm. regardless of which option is enabled, this regis - ter is periodically saved to nonvolatile memory as part of the learning function. if neither option is enabled, this register can be used as general purpose user memory. modelgauge m5 ez performance modelgauge m5 ez performance provides plug-and-play operation for the ics. while the max1720x/max1721x can be custom tuned to the applications battery through a characterization process for ideal performance, the ics have the ability to provide reasonable performance for most applications with no custom characterization required. figure 9 and figure 10 show the performance of the modelgauge m5 algorithm in applications using only the default cell model information. while ez performance provides good performance for most cell types, some chemistries such as lithium-iron- phosphate (lifepo4) and panasonic ncr/nca series cells require a custom model characterization for best performance. figure 7. nsoc (1aeh) format when nnvcfg2.ensoc = 1 figure 8. nvolttemp (1aah) format when nnvcfg2.envt = 1 maxim integrated 34 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 mixsoc upper byte vfsoc upper byte d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 a vgvcell upper 9 bits a vgt a upper 7 bits www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
figure 10. ez configuration performance vs. test conditions figure 9. ez configuration performance histogram maxim integrated 35 description tests with error less than 3 % tests with error less than 5 % tests with error less than 10 % after first cycle * (%) 94 97 99 . 5 after second cycle * (%) 95 98 99 . 7 * test conditions : + 20 oc and + 40 oc , run time of > 3 hours . worst-case error during discharge (%) 10 9 8 7 6 5 4 3 2 1 10 0 20 30 40 50 60 percentile of tests (%) modelgauge m5 ez configuration performance 94% of tests have < 3% error ? 300+ different batteries ? 3000+ discharges ? +20c and +40c ? run time of > 3 hours ? after first cycle test conditions: www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
ocv estimation and coulomb count mixing the core of the modelgauge m5 algorithm is a mixing algorithm that combines the ocv state estimation with the coulomb counter. after a power-on reset of the ic, coulomb-count accuracy is unknown. the ocv state estimation is weighted heavily compared to the coulomb count output. as the cell progresses through cycles in the application, coulomb-counter accuracy improves and the mixing algorithm alters the weighting so that the coulomb- counter result is dominant. from this point forward, the ic switches to servo mixing. servo mixing provides a fixed magnitude continuous error correction to the coulomb count, up or down, based on the direction of error from the ocv estimation. this allows differences between the coulomb count and ocv estimation to be corrected quickly. see figure 11 . figure 11. voltage and coulomb count mixing maxim integrated 36 0 . 50 cell cycles 0 1 . 00 1 . 50 2 . 00 ocv and coulomb count mixing ratio ocv influence coulomb count influence 0 % 100 % servo mixing www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
the resulting output from the mixing algorithm does not suffer accumulation drift from current measurement offset error and is more stable than a stand-alone ocv estima - tion algorithm. see figure 12 . initial accuracy depends on the relaxation state of the cell. the highest initial accuracy is achieved with a fully relaxed cell. figure 12. modelgauge m5 typical accuracy example maxim integrated 37 time state of charge error (%) typical ocv estimation error as cell is cycled maximum coulomb counter error (0.1% per hour in this example) (shaded area) mpdelgauge ocv + coulomb count mixing maximum error range www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
requirements and internal losses of the cell. the ics sub - tracts the amount of charge not available to the applica - tion from the mixcap register and reports the result in the avcap register. since available remaining capacity is highly dependent on discharge rate, the avcap register can be subject to large instantaneous changes as the application load current changes. the result can increase, even while discharging, if the load current suddenly drops. this result, although correct, can be very counter-intuitive to the host software or end user. the repcap output register contains a filtered version of avcap that removes any abrupt changes in remaining capacity. repcap converges with avcap over time to correctly predict the application empty point while discharging or the application full point while charging. figure 13 shows the relationship of these registers. empty compensation as the temperature and discharge rate of an application changes, the amount of charge available to the applica - tion also changes. the modelgauge m5 algorithm dis - tinguishes between remaining capacity of the cell and remaining capacity of the application and reports both results to the user. the mixcap output register tracks the charge state of the cell. this is the theoretical mah of charge that can be removed from the cell under ideal conditionsextremely low discharge current and no concern for cell voltage. this result is not affected by application conditions such as cell impedance or minimum operating voltage of the application. modelgauge m5 continually tracks the expected empty point of the application in mah. this is the amount of charge that cannot be removed from the cell by the application because of minimum voltage figure 13. handling changes in empty calculation maxim integrated 38 mixcap register absolute mah state of battery not considering temperature and discharge rate ( i . e . , capacity available if very light load ) repcap register reported capacity with no sudden jumps and correct forecast of empty time ( h ) load increases avcap register available capacity of the cell under present conditions capacity ( mah ) increase in available capacity when under load is counterintuitive to users and operating systems empty www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
end-of-charge detection the ics detect the end of a charge cycle when the appli - cation current falls into the band set by the ichgterm register value while the vfsoc value is above the fullsocthr register value. by monitoring both the current and avgcurrent registers, the device can reject false end- of-charge events such as application load spikes or early charge-source removal. see figure 14 . when a proper end-of-charge event is detected, the device learns a new fullcaprep register value based on the repcap register output. if the old fullcaprep value is too high, it is adjusted on a downward slope near the end of charge as defined by the misccfg.fus setting until it reaches repcap. if the old fullcaprep is too low, it is adjusted upward to match repcap. this prevents the calculated state of charge from ever reporting a value greater than 100%. see figure 15 . figure 14. blocking false end of charge events maxim integrated 39 1.25 x ic hg t erm 0.125 x ic hg t erm 0ma charging discharging a vg c urrent c urrent 1.25 x ic hg t erm 0.125 x ic hg t erm 0ma charging discharging high current load spikes do not generate end of charge detection because current and average current readings do not fall into the detection area at the same time. early charger removal does not generate end of charge detection because current and average current readings do not fall into the detection area at the same time. a vg c urrent c urrent www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
charge termination is detected by the ic when the follow - ing conditions are met: ? vfsoc register > fullsocthr register ? and ichgterm x 0.125 < current register < ichgterm x 1.25 ? and ichgterm x 0.125 < avgcurrent register < ichgterm x 1.25 fuel gauge learning the ics periodically make internal adjustments to cell characterization and application information to remove initial error and maintain accuracy as the cell ages. these adjustments always occur as small corrections to prevent instability of the system and prevent any noticeable jumps in the fuel-gauge outputs. learning occurs automatically without any input from the host. in addition to estimating the batterys state of charge, the ics observe the batterys relaxation response and adjusts the dynamics of the volt - age fuel gauge. registers used by the algorithm include: ? application capacity (fullcaprep register). this is the total capacity available to the application at full, set through the ichgterm and fullsocthr registers as described in the end-of-charge detection section. see the fullcap register (010h) description. figure 15. fullcaprep learning at end of charge a vg c urrent c urrent 1.25 x ic hg t erm 0.125 x ic hg t erm 0ma charging discharging correct end of charge detection area r ep c ap case 1: old f ull c ap r ep too high case 2: old f ull c ap r ep too low new f ull c ap r ep maxim integrated 40 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
? cell capacity (fullcapnom register). this is the total cell capacity at full, according to the voltage fuel gauge. this includes some capacity that is not available to the application at high loads and/or low temperature. the ics periodically compare percent change based on an open circuit voltage measurement vs. coulomb-count change as the cell charges and discharges, maintaining an accu - rate estimation of the pack capacity in mah as the pack ages. see figure 16 . figure 16. fullcapnom learning maxim integrated 41 0 % 10 % 30 % 50 % 70 % 20 % 40 % 60 % 80 % 90 % 100 % vfsoc (%) % 1 % 2 % 3 % 4 % 5 q 1 q 2 q 3 q 4 q 5 0 mah 100 mah 300 mah 500 mah 700 mah 200 mah 400 mah 600 mah 800 mah 900 mah 1000 mah 1100 mah 1200 mah observed size of battery : f ull c ap n om = qa cc pa cc x 100 % coulomb count ( mah ) relaxation events where : qa cc = | q 1 | + | q 2 | + | q 3 | ... qa cc = | % 1 | + | % 2 | + | % 3 | ... www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
? voltage fuel-gauge adaptation. the ics observe the batterys relaxation response and adjust the dynamics of the voltage fuel gauge. this adaptation adjusts the rcomp0 register during qualified cell relaxation events. ? empty compensation. the ics update internal data whenever an empty cell is detected (vcell < vempty) to account for cell age or other cell deviations from the char - acterization information. converge-to-empty the max1720x/max1721x include a feature that guar - antees the fuel gauge output converges to 0% as the cell voltage approaches the empty voltage. as the cell's volt - age approaches the expected empty voltage (avgvcell approaches vempty) the ics smoothly adjust the rate of change of repsoc so that the fuel gauge reports 0% at the exact time that the cell's voltage reaches empty. this prevents unexpected shutdown or an early 0% soc reported by the fuel gauge. see figure 17 . in addition, the fuel gauge limits repsoc to not go below 1% until avgvcell crosses vempty. figure 17. converge to empty maxim integrated 42 0% r ep soc ve mpty r ep soc estimation too high a vg vc ell r ep soc estimation too low ideal r ep soc r ep soc rate of change adjusted so that it reaches 0% as the cells voltage reaches ve mpty www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
determining fuel gauge accuracy to determine the true accuracy of a fuel gauge, as expe - rienced by end users, the battery should be exercised in a dynamic manner. the end-user accuracy cannot be understood with only simple cycles. to challenge a correction-based fuel gauge, such as a coulomb coun - ter, test the battery with partial loading sessions. for example, a typical user can operate the device for 10 minutes and then stop use for an hour or more. a robust test method includes these kinds of sessions many times at various loads, temperatures, and duration. refer to the application note 4799: cell characterization procedure for a modelgauge m3/modelgauge m5 fuel gauge. initial accuracy the ics use the first voltage reading after power-up or after cell insertion to determine the starting output of the fuel gauge. it is assumed that the cell is fully relaxed prior to this reading; however, this is not always the case. if there is a load or charge current at this time, the initial reading is compensated using the characterized internal impedance of the cell (rfast register) to estimate the cell's relaxed voltage. if the cell was recently charged or discharged, the voltage measured by the ic may not rep - resent the true state of charge of the cell, resulting in initial error in the fuel gauge outputs. in most cases, this error is minor and is quickly removed by the fuel gauge algorithm during the first hour of normal operation. cycle+ age forecasting a special feature of the modelgauge m5 algorithm is the ability to forecast the number of cycles a user can get out of the cell during its lifetime. this allows an application to adjust a cell's charge profile over time to meeting the cycle life requirements of the cell. see figure 19 . the algorithm monitors the change in cell capacity over time and calculates the number of cycles it takes for the cells capacity to drop to a predefined threshold of 85% of origi - nal. remaining cycles below 85% of the original capacity are unpredictable and not managed by age forecasting. nagefccfg register (1d2h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the recommended default value is 0xd5e3. the nagefccfg register is used to configure age fore - casting functionality. register data is nonvolatile and is typically configured only once during pack assembly. figure 18 shows the register format. deadtargetratio: sets the remaining percentage of ini - tial cell capacity where the cell is considered fully aged. deadtargetratio can be adjusted between 75% and 86.72% with an lsb of 0.7813%. for example, if age fore - casting was configured to estimate the number of cycles until the cells capacity dropped to 85.1574% of when it was new, deadtargetratio should be programmed to 1101b. cyclestart: sets the number of cell cycles before age forecasting calculations begin. cyclestart has a range of 0.00 to 81.92 cycles with an lsb of 0.64 cycles. since age forecasting estimation becomes more accurate over time, most applications use a default value of 30 cycles. 0: always write this location 0. 1: always write this location 1. ageforecast register (0b9h) register type: special nonvolatile backup: none the ageforecast register displays the estimated total cycle life of the application cell. the ageforecast value should be compared against the cycles (017h) register to determine the estimated number of remaining cell cycles. this is accomplished by accumulating the capacity loss per cycle as the cell ages. the result will become more accurate with each cycle measured. the ageforecast register has a full range of 0 cycles to 10485 cycles with a 0.16 cycle lsb. this register is recalculated from learned information at power-up. figure 18. nagefccfg register (1d2h) format maxim integrated 43 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 deadt argetratio cyclestart 0 0 0 1 1 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
age forecasting requirements there are several requirements for proper operation of the age forecasting feature as follows: there is a minimum and maximum cell size that the age forecasting algorithm can handle. table 2 shows the allowable range of cell sizes that can be accurately age forecasted depending on the size of the sense resistor used in the application. note this range is different from the current and capacity mea - surement range for a given sense resistor. see the current measurement section for details. age forecasting requires a minimum of 100 cycles before achieving reasonable predictions. ignore the age forecasting output until then. age forecasting requires a custom characterized bat - tery model to be used by the ic. age forecasting is not valid when using the modelgauge m5 ez model. table 2. minimum and maximum cell sizes for age forecasting sense resistor () ( ncgain=0x4000) minimum cell size for forecasting ( mah ) maximum cell size for forecasting ( mah ) 0.005 1600 5000 0.010 800 2500 0.020 400 1250 figure 19. benefits of age forecasting maxim integrated 44 capacity initial data cycles 100 cycles minimum cycles required by the application minimum cell capacity required by the application 100% initial age forecast shows that application requirements might not be met additional data new age forecast shows that application requirements might be met charge profile changed www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
enabling age forecasting the following steps are required to enable the age fore - casting feature: 1) 1) set nnvcfg2.envt = 0 and nnvcfg2.ensoc = 0. these functions confict with age forecasting and must be disabled. 2) 2) set nsoc to the value of nfullcapnom. 3) 3) set nvolttemp to 0x0001. 4) 4) set nnvcfg0.enaf = 1 to begin operation. battery life logging the max1720x/max1721x has the ability to log learned battery information providing the host with a history of conditions experienced by the cell pack over its life time. the ic can store up to 203 snapshots of page 1ah in non - volatile memory. individual registers from page 1ah are summarized in table 3 . their nonvolatile backup must be enabled in order for logging to occur. see each register's detailed description in other sections of this data sheet. the logging rate default is once every 10.5 equivalent cell cycles but can be adjusted from 0.5 cycles up to 64.5 cycles using the nnvcfg2.cyclespsave setting. life-logging data example figure 20 shows a graphical representation of sample history data read from an ic. analysis of this data can provide information of cell performance over its lifetime as well as detect any application anomalies that might have affected performance. table 3. life logging register summary register address register name function 1a0h nqrtable00 learned characterization information used to determine when the cell pack is empty under application conditions. 1a1h nqrtable10 1a2h nqrtable20 1a3h nqrtable30 1a4h ncycles total number of equivalent full cycles seen by the cell since assembly. 1a5h nfullcapnom calculated capacity of the cell independent of application conditions. 1a6h nrcomp0 learned characterization information related to the voltage fuel gauge. 1a7h ntempco 1a8h niavgempty typical current seen in by the application a the point where the cell reaches empty. 1a9h nfullcaprep calculated capacity of the cell under present application conditions. 1aah nvolttemp the average voltage and temperature seen by the ic at the instance of learned data backup. if age forecasting is enabled, this register contains different information. 1abh nmaxmincurr maximum and minimum current, voltage, and temperature seen by the ic during this logging window. 1ach nmaxminvolt 1adh nmaxmintemp 1aeh nsoc calculated present state of charge of the battery pack at the instance of learned data backup. if age forecasting is enabled, this register contains different information. 1afh ntimerh total elapsed time since cell pack assembly not including time spent in shutdown mode. maxim integrated 45 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
figure 20. sample life-logging data maxim integrated 46 cycles maximum/minimum temperature and current can indicate if the cell has been abused time time vs . cycles and maximum/minimum voltage gives an indication of the usage profile voltage 6 months 0 4.2v 3.0v temperature + 85c -40c current 2 .0a -5.0a capacity 100 % 0% f ull c ap r ep f ull c ap n om qr esidual www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
determining number of valid logging entries while logging data, the ics begin on history page 1 and continue until all history memory has been used at page 203. prior to reading history information out of the ics, the host must determine which history pages has been written and which, if any, had write errors and should be ignored. each page of history information has two associ - ated write flags that indicate if the page has been written and two associated valid flags that indicate if the write was successful. the history recall command [0xe2xx] is used to load the history flags into page 1eh of ic memory where the host can then read their state. table 6 shows which command and which page the 1eh address has the flag information for a given history page. for example ,to see the write flag information of history pages 1-8, send the 0xe2fb command then read address 1e1h. to see the valid flag information of pages 1C8, send the 0xe2fc command and then read address 1ebh. once the write flag and valid flag information is read from the ic, it must be decoded. each register holds two flags for a given history page. figure 21 shows the register for - mat. the flags for a given history page are always spaced 8 bits apart from one another. for example, history page 1 flags are always located at bit positions d0 and d8, his - tory page 84 flags are at locations d3 and d11, etc. note that the last flag register contains information for only 3 pages, in this case the upper 5 bits of each byte should be ignored. figure 21. write flag register and valid flag register formats maxim integrated 47 d 7 d6 d5 d4 d3 d2 d1 d0 d15 d14 d13 d12 d11 d10 d9 d8 history page n write indicator 1 history page n+1 write indicator 1 history page n+7 write indicator 1 history page n write indicator 2 history page n+1 write indicator 2 history page n+7 write indicator 2 write flag register format d7 d6 d5 d4 d3 d2 d1 d0 d15 d14 d13 d12 d11 d10 d9 d8 history page n valid indicator 1 history page n+1 valid indicator 1 history page n+7 valid indicator 1 history page n valid indicator 2 history page n+1 valid indicator 2 history page n+7 valid indicator 2 valid flag register format www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
once all four flags for a given history page are known, the host can determine if the history page contains valid data. if either write flag is set then data has been written to that page by the ic. if both write flags are clear, the page has not yet been written. due to application condi - tions, the write may not have been successful. next check the valid flags. if either valid flag is set, the data should be considered good. if both valid flags are clear then the data should be considered bad and the host should ignore it. table 4 shows how to decode the flags. reading history data once all pages of valid history data have been identified, they can be read from the ics using the history recall command. table 5 shows the command and history page relationship. after sending the command, wait t recall , then read the history data from the ics page 1eh. each page of history data has the same format as page 1ah. for example, ncycles is found at address 1a4h and ncycles history are at 1e4h, ntimerh is located at address 1afh, and ntimerh history is located at address 1efh, etc. history data reading example the host reads the life-logging data from a given ic. the host must first determine how many history pages have been written and if there are any errors. to start checking history page 1, the host sends 0xe2fb to the command register, waits t recall , then reads location 1e1h. if either the d0 or the d8 bit in the read data word is a logic 1, the host knows that history page 1 contains history data. table 4. decoding history page flags write indicator 1 write indicator 2 valid indicator 1 valid indicator 2 page status 0 0 x x page empty. 1 x 0 0 write failure. page has bad data. 1 x write success. page has good data. x 1 x 1 0 0 write failure. page has bad data. 1 x write success. page has good data. x 1 table 5. reading history data command history page recalled to page 1eh 0xe226 page 1 0xe227 page 2 ... ... 0xe2f0 page 203 maxim integrated 48 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
the host can then check page 2 (bits d1 and d9) up to page 7 (bits d7 and d15). the host continues on to pages 8 to 16 by reading location 1e2h, and then repeating individual bit testing. this process is repeated for each command and address listed in table 6 until the host finds a history page where both write flags read logic 0. this is the first unwritten page. all previous pages contain data, all following pages are empty. the host must now determine which, if any, of the history pages have bad data and must be ignored. the above process is repeated for every location looking at the valid flags instead of the write flags. any history page where both valid flags read logic 0 is considered bad due to a write failure and that page should be ignored. once the host has a complete list of valid written history pages, commands 0xe226 to 0xe2f0 can be used to read the history information from page 1eh for processing. note: this example was simplified in order to describe the procedure. a more efficient method would be for the host to send a history command once and then read all associated registers. for example, the host could send the 0xe2fc command once and then read the entire memory space of 1e0h to 1efh that would contain all write flags for pages 121 to 203 (1e0h to 1eah) and all valid flags for pages 1 to 40 (1ebh to 1efh). this applies for all 0xe2xx history commands. see appendix a: reading history data psuedo-code example for a psuedo-code example of reading history data. table 6. reading history page flags associated his - tory pages command to recall write flags write flag address command to recall valid flags valid flag address 1C8 0xe2fb 1e1h 0xe2fc 1ebh 9C16 1e2h 1ech 17C24 1e3h 1edh 25C32 1e4h 1eeh 33C40 1e5h 1efh 41C48 1e6h 0xe2fd 1e0h 49C56 1e7h 1e1h 57C64 1e8h 1e2h 65C72 1e9h 1e3h 73C80 1eah 1e4h 81C88 1ebh 1e5h 89C96 1ech 1e6h 97C104 1edh 1e7h 105C112 1eeh 1e8h 113C120 1efh 1e9h 121C128 0xe2fc 1e0h 1eah 129C136 1e1h 1ebh 137C144 1e2h 1ech 145C152 1e3h 1edh 153C160 1e4h 1eeh 161C168 1e5h 1efh 169C176 1e6h 0xe2fe 1e0h 177C184 1e7h 1e1h 185C192 1e8h 1e2h 193C200 1e9h 1e3h 201C203 1eah 1e4h maxim integrated 49 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
modelgauge m5 algorithm model registers the following registers are inputs to the modelgauge algo - rithm and store characterization information for the appli - cation cells as well as important application specific speci - fications. they are described only briefly here. contact maxim for information regarding cell characterization. nxtable0 (180h) to nxtable11 (18bh) registers register type: special nonvolatile restore: there are no associated restore locations for these registers. cell characterization information used by the modelgauge algorithm to determine capacity versus operating condi - tions. this table comes from battery characterization data. these are nonvolatile memory locations. these registers are free to user memory if using modelgauge m5 ez. nocvtable0 (190h) to nocvtable11 (19bh) registers register type: special nonvolatile restore: there are no associated restore locations for these registers. cell characterization information used by the modelgauge algorithm to determine capacity versus operating condi - tions. this table comes from battery characterization data. these are nonvolatile memory locations. these registers are free to user memory if using modelgauge m5 ez. nqrtable00 (1a0h) to nqrtable30 (1a3h) registers register type: special nonvolatile backup and restore: qrtable00 to qrtable30 (012h, 022h, 032h, 042h) the nqrtable00 to nqrtable30 register locations con - tain characterization information regarding cell capacity that is not available under certain application conditions. nfullsocthr register (1c6h) register type: percentage nonvolatile restore: fullsocthr (013h) if nnvcfg0.enft is set alternate initial value: 95% (0x5f05) the nfullsocthr register gates detection of end-of- charge. vfsoc must be larger than the nfullsocthr value before nichgterm is compared to the avgcurrent register value. the recommended nfullsocthr register setting for most custom characterized applications is 95%. for ez performance applications, the recommenda - tion is 80% (0x5005). see the nichgterm register (19ch) description and the end-of-charge detection section for details. figure 22 shows the register format. nvempty register (19eh) register type: special nonvolatile restore: vempty (03ah) if nnvcfg0.enve is set. alternate initial value: 0xa561 (ve=3.3v, vr=3.88v) the nvempty register sets thresholds related to empty detection during operation. figure 23 shows the register format. ve: empty voltage. sets the voltage level for detecting empty. a 10mv resolution gives a 0 to 5.11v range. this value is writ - ten to 3.3v after reset if nonvolatile backup is disabled. vr: recovery voltage. sets the voltage level for clearing empty detection. once the cell voltage rises above this point, empty voltage detection is reenabled. a 40mv reso - lution gives a 0 to 5.08v range. this value is written to 3.88v after reset if nonvolatile backup is disabled. ndesigncap register(1b3h) register type: capacity nonvolatile restore: designcap (018h) if nnvcfg0.endc is set. alternate initial value: fullcaprep register value the ndesigncap register holds the expected capacity of the cell. this value is used to determine age and health of the cell by comparing against the measured present cell capacity. figure 22. nfullsocthr (1c6h)/fullsocthr (013h) format figure 23. vempty (03ah)/nvempty (19eh) format maxim integrated 50 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 nfullsocthr 1 0 1 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 ve vr www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nrfastvshdn register (1d5h) register type: special nonvolatile restore: rfast (015h) and vshdncfg (0b8h) if nnvcfg1.enrfvsh is set alternate initial value: rfast defaults 0x0500 (312m) and vshdncfg defaults to 0x007d (2.5v) when enabled the nrfastvshdn register is used to configure the initial values for the rfast and vshdncfg registers. if nnvcfg1.enrfvsh is clear, nrfastvshdn can be used for general purpose data storage. figure 24 shows the format. nrfast: restores to the rfast register using the follow - ing equation: rfast = (nrfastvshdn and 0xff00) >> 4 nvshdn : restores to the vshdncfg register using the following equation: vshdncfg = nrfastvshdn and 0x00ff the rfast register value is used by the modelgauge m5 algorithm to compensate an initial open-circuit voltage starting point if the ic is powered up or reset while the cell stack is under load and not relaxed. rfast is a unit-less scalar with an lsb of (100 x r sense )/4096. the initial value of 0x0500 gives a default rfast value of 312.5 m with a 10m sense resistor. the vshdncfg register sets the voltage level at which the ic will enter shutdown mode. if the avgvcell register voltage value that represents the lowest voltage of the cell stack falls below the vshdncfg register value the ic will halt operation and enter shutdown mode. the vshdncfg register has an lsb weight of 20mv. the initial value of 0x007d gives a default vshdncfg value of 2.5v. see the modes of operation section. nichgterm register (19ch) register type: current nonvolatile restore: ichgterm (01eh) if nnvcfg0.enict is set. alternate initial value: 1/3rd the hex value of the nful - lcapnom register (corresponds to c/9.6) the nichgterm register allows the device to detect when a charge cycle of the cell has completed. nichgterm should be programmed to the exact charge termination current used in the application. the device detects end of charge if all the following conditions are met: ? vfsoc register > fullsocthr register ? and ichgterm x 0.125 < current register < ichgterm x 1.25 ? and ichgterm x 0.125 < avgcurrent register < ichgterm x 1.25 see end-of-charge detection section for more details. nrcomp0 register (1a6h) register type: special nonvolatile restore: rcomp0 (038h) the nrcomp0 register holds characterization informa - tion critical to computing the open-circuit voltage of a cell under loaded conditions. ntempco register (1a7h) register type: special nonvolatile restore: tempco (039h) the ntempco register holds temperature compensation information for the nrcomp0 register value. niavgempty register (1a8h) register type: current nonvolatile backup and restore: iavgempty (036h) if nnvcfg2.eniavg is set. alternate initial value: 0x0100 this register stores the typical current experienced by the fuelgauge when empty has occurred. if enabled, this register is periodically backed up to nonvolatile memory as part of the learning function. figure 24. nrfastvshdn (1d5h) format maxim integrated 51 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 nrfast nvshdn www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
modelgauge m5 algorithm confguration registers the following registers allow operation of the modelgauge m5 algorithm to be adjusted for the application. it is recom - mended that the default values for these registers be used. nfiltercfg register (19dh) register type: special nonvolatile restore: filtercfg (029h) if nnvcfg0.enfcfg is set. alternate initial value: 0x0ea4 the nfiltercfg register sets the averaging time period for all adc readings for mixing ocv results and coulomb count results. it is recommended that these values are not changed unless absolutely required by the application. figure 25 shows the nfiltercfg register format. curr: sets the time constant for the avgcurrent register. the default por value of 0100b gives a time constant of 5.625s. the equation setting the period is: avgcurrent time constant = 45s x 2 (curr-7) volt: sets the time constant for the avgvcell register. the default por value of 010b gives a time constant of 45.0s. the equation setting the period is: avgvcell time constant = 45s x 2 (volt-2) mix: sets the time constant for the mixing algorithm. the default por value of 1101b gives a time constant of 12.8 hours. the equation setting the period is: mixing period = 45s x 2 (mix-3) temp: sets the time constant for the avgta register. the default por value of 0001b gives a time constant of 1.5min. the equation setting the period is: avgta time constant = 45s x 2 temp 1: write these bits to 0. nrelaxcfg register (1b6h) register type: special nonvolatile restore: relaxcfg (02ah) if nnvcfg0.enrcfg is set. alternate initial value: 0x2039 the nrelaxcfg register defines how the ics detect if the cell is in a relaxed state. see figure 33 . for a cell to be considered relaxed, current flow through the cell must be kept at a minimum while the change in the cells voltage over time, dv/dt, shows little or no change. if avgcurrent remains below the load threshold while vcell changes less than the dv threshold over two consecutive periods of dt, the cell is considered relaxed. figure 26 shows the nrelaxcfg register format: load: sets the threshold, which the avgcurrent regis - ter is compared against. the avgcurrent register must remain below this threshold value for the cell to be con - sidered unloaded. load is an unsigned 7-bit value where 1 lsb = 50v. the default value is 800v. dv: sets the threshold, which vcell is compared against. if the cells voltage changes by less than dv over two con - secutive periods set by dt, the cell is considered relaxed; dv has a range of 0 to 40mv where 1 lsb = 1.25mv. the default value is 3.75mv. dt: sets the time period over which change in vcell is compared against dv. if the cells voltage changes by less than dv over two consecutive periods set by dt, the cell is considered relaxed. the default value is 1.5 minutes. the comparison period is calculated as: relaxation period = 2 (dt-8) x 45s figure 25. filtercfg (029h)/nfiltercfg (19dh) format figure 26. relaxcfg (02ah)/nrelaxcfg (1b6h) format maxim integrated 52 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 0 temp mix vol t curr d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 load dv dt www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nlearncfg register (19fh) register type: special nonvolatile restore: learncfg (028h) if nnvcfg0.enlcfg is set. alternate initial value: 0x2603 the nlearncfg register controls all functions relating to adaptation during operation. the factory default value for nlearncfg is 0x2602. figure 27 shows the register format: 0: bit must be written 0. do not write 1. 1: bit must be written 1. do not write 0. filt empty: empty detect filter. this bit selects whether empty is detected by a filtered or unfiltered voltage read - ing. setting this bit to 1 causes the empty detection algorithm to use the avgvcell register. setting this bit to 0 forces the empty detection algorithm to use the vcell register. this default value is 0. ls: learn stage. see figure 11 . the learn stage value controls the influence of the voltage fuel gauge on the mixing algorithm. the learn stage defaults to 0h, making the voltage fuel gauge dominate. the learn stage then advances to 7h over the course of two full cell cycles to make the coulomb counter dominate. host software can write the learn stage value to 7h to advance to the final stage at any time. writing any value between 1h and 6h is ignored. nmisccfg register (1b2h) register type: special nonvolatile restore: misccfg (02bh) if nnvcfg0.enmc is set alternate initial value: 0x3870 the nmisccfg control register enables various other func - tions of the device. the nmisccfg register default values should not be changed unless specifically required by the application. figure 28 shows the register format: 0: bit must be written 0. do not write 1. 1: bit must be written 1. do not write 0. sacfg: soc alert config. soc alerts can be gener - ated by monitoring any of the soc registers as follows. sacfg defaults to 00 at power-up: 0 0 soc alerts are generated based on the repsoc register. 0 1 soc alerts are generated based on the avsoc register. 1 0 soc alerts are generated based on the mixsoc register. 1 1 soc alerts are generated based on the vfsoc register. mr: mixing rate. this value sets the strength of the servo mixing rate after the final mixing state has been reached (> 2.08 complete cycles). the units are mr0 = 6.25v, giving a range up to 19.375ma with a standard 0.010 sense resistor. setting this value to 00000b disables servo mixing and the ic continues with time-constant mix - ing indefinitely. the default setting is 18.75v or 1.875ma with a standard sense resistor. fus: full update slope. this field prevents jumps in the repsoc and fullcaprep registers by setting the rate of adjustment of fullcaprep near the end of a charge cycle. the update slope adjustment range is from 2% per 15 minutes (0000b) to a maximum of 32% per 15 minutes (1111b). figure 27. learncfg (028h)/nlearncfg (19fh) format figure 28. misccfg (02bh)/nmisccfg (1b2h) format maxim integrated 53 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 0 1 0 0 1 1 0 0 ls 0 filt empty 1 0 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 fus 1 0 mr 1 0 0 sacfg www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nttfcfg register (1c7h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. alternate initial value: cv_halftime = 0xa00 (30 minutes) and cv_mixcap = 75% x fullcapnom the nttfcfg register configures parameters related to the time to full (ttf) calculation. there is no associated ram register location that this register is recalled into after device reset. these parameters can be tuned for best ttf performance during characterization by maxim. figure 29 shows the register format. ncv_halftime: sets the halftime value with an lsb of 45s giving a full-scale range of 0 to 192 minutes. ncv_mixcapratio: sets the mixcapratio with an lsb of 1/256 giving a full-scale range of 0 to 0.9961. nconvgcfg register (1b7h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nconvgcfg register configures operation of the converge to empty feature. the recommended value for nconvgcfg is 0x2241. figure 30 shows the nconvgcfg register format. the nnvcfg1.cte bit must be set to enable converge to empty functionality. if nnvcfg1.cte is clear this register can be used as general purpose data storage. repl_per_stage: adjusts the replow threshold setting depending on the present learn stage using the follow - ing equation. this allows the replow threshold to be at higher levels for earlier learn states. repl_per_stage has an lsb of 1% giving a range of 0% to 7%. replow threshold = replow field setting +7% x repl_ per_stage. minslopex: sets the amount of slope-shallowing that occurs when repsoc falls below replow. minslopex lsb corresponds to a ratio of 1/16 giving a full range of 0 to 15/16. voltlowoff: when the avgvcell register value drops below the voltlow threshold, repcap begins to bend downwards by a ratio defined by the following equation. voltlowoff has an lsb of 20mv giving a range of 0 to 620mv. (avgvcell - vempty)/voltlowoff replow: sets the threshold below which repcap begins to bend upwards. the replow field lsb is 2% giving a full- scale range from 0% to 30%. nripplecfg register (1b1h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nripplecfg register configures ripple measurement and ripple compensation. the recommended value for this register is 0x0204. figure 31 shows the register format. nr: sets the filter magnitude for ripple observation as defined by the following equation giving a range of 1.4 seconds to 180 seconds. ripple time range = 1.4 seconds ? 2 nr kdv: sets the corresponding amount of capacity to com - pensate proportional to the ripple. figure 29. nttfcfg (1c7h) format figure 30. nconvgcfg (1b7h) format figure 31. nripplecfg (1b1h) format maxim integrated 54 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 ncv_halft ime ncv_mixcapratio d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 replow v oltlowof f minslopex repl_per_stage d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 kdv nr www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
modelgauge m5 algorithm additional registers the following registers contain intermediate modelgauge m5 data that can be useful for debugging or performance analysis. the values in these registers become value 480ms after the ic is reset. timer register (03eh) register type: special nonvolatile backup: none initial value: 0x0000 this register holds timing information for the fuel gauge. it is available to the user for debug purposes. the timer register lsb is equal to 175.8ms giving a full-scale range of 0 to 3.2 hours. dqacc register (045h) register type: capacity (16mah/lsb) nonvolatile backup: translated from nfullcapnom alternate initial value: 0x0017 (368mah) this register tracks change in battery charge between relaxation points. it is available to the user for debug purposes. dpacc register (046h) register type: percentage (1/16% per lsb) nonvolatile backup: none initial value: 0x0190 (25%) this register tracks change in battery state of charge between relaxation points. it is available to the user for debug purposes. qresidual register (00ch) register type: capacity nonvolatile backup: none the qresidual register displays the calculated amount of charge in mah that is presently inside of, but cannot be removed from the cell under present application condi - tions. this value is subtracted from the mixcap value to determine capacity available to the user under present conditions (avcap). vfsoc register (0ffh) register type: percentage nonvolatile backup: none the vfsoc register holds the calculated present state of charge of the battery according to the voltage fuel gauge. vfocv register (0fbh) register type: voltage nonvolatile backup: none the vfocv register contains the calculated open-circuit voltage of the cell as determined by the voltage fuel gauge. this value is used in other internal calculations. qh register (4dh) register type: capacity nonvolatile backup: none alternate initial value: 0x0000 the qh register displays the raw coulomb count gener - ated by the device. this register is used internally as an input to the mixing algorithm. monitoring changes in qh over time can be useful for debugging device operation. avcap register (01fh) register type: capacity nonvolatile backup: none the avcap register holds the calculated available capacity of the cell pack based on all inputs from the modelgauge m5 algorithm including empty compensation. the register value is an unfiltered calculation. jumps in the reported value can be caused by changes in the application such as abrupt changes in load current or temperature. see the empty compensation section for details. avsoc register (00eh) register type: percentage nonvolatile backup: none the avsoc register holds the calculated available state of charge of the cell based on all inputs from the modelgauge m5 algorithm including empty compensa - tion. the avsoc percentage corresponds with avcap and fullcapnom. the avsoc register value is an unfil - tered calculation. jumps in the reported value can be caused by changes in the application such as abrupt changes in load current or temperature. see the empty compensation section for details. mixsoc register (00dh) register type: percentage nonvolatile backup: none the mixsoc register holds the calculated present state of charge of the cell before any empty compensation adjust - ments are performed. mixsoc corresponds with mixcap and fullcapnom. see the empty compensation section for details. maxim integrated 55 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
dnr: data not ready. this bit is set to 1 at cell inser - tion and remains set until the output registers have been updated. afterwards, the ics clear this bit indicating the fuel gauge calculations are now up to date. this takes between 445ms and 1.845s depending on whether the ics are in a powered state prior to the cell-insertion event. reldt2: long relaxation. this bit is set to a 1 whenever the modelgauge m5 algorithm detects that the cell has been relaxed for a period of 48 to 96 minutes or longer. this bit is cleared to 0 whenever the cell is no longer in a relaxed state. see figure 33 . fq: full qualified. this bit is set when all charge termina - tion conditions have been met. see the end-of-charge detection section for details. edet: empty detection. this bit is set to 1 when the ic detects that the cell empty point has been reached. this bit is reset to 0 when the cell voltage rises above the recovery threshold. see the vempty register for details. reldt: relaxed cell detection. this bit is set to a 1 when - ever the modelgauge m5 algorithm detects that the cell is in a fully relaxed state. this bit is cleared to 0 whenever a current greater than the load threshold is detected. see figure 33 . x: dont care. this bit is undefined and can be logic 0 or 1. mixcap register (00fh) register type: capacity nonvolatile backup: none the mixcap register holds the calculated remaining capacity of the cell before any empty compensation adjustments are performed. see the empty compensation section for details. vfremcap register (04ah) register type: capacity nonvolatile backup: none the vfremcap register holds the remaining capacity of the cell as determined by the voltage fuel gauge before any empty compensation adjustments are performed. see the empty compensation section for details. fstat register (03dh) register type: special nonvolatile backup: none the fstat register is a read-only register that monitors the status of the modelgauge algorithm. do not write to this register location. figure 32 is the fstat register format: figure 33. cell relaxation detection figure 32. fstat (03dh) format maxim integrated 56 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 x x x x x x reldt edet fq reldt2 x x x x x dnr average current discharging dt 1 dt 2 dt 3 dt 4 dt 5 dt 6 48 C 96 minutes dv 2 dv 3 dv 4 dv 5 dv 6 cell voltage cell unloaded ( relaxation begins ) relaxation load threshold cell is relaxed fstat . reldt bit set first reading below dv / dt threshold second reading below dv / dt threshold long relaxation fstat . reldt 2 bit set 0 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
modes of operation the ics operate in one of three power modes: shutdown, hibernate, and active. while in active mode, the ics operate as a high-precision fuel gauge with temperature, voltage, auxiliary inputs, current, and accumulated current mea - surements acquired continuously, and the resulting values updated in the measurement registers. hibernate mode is a reduced power consumption and reduced activity, but full function version of active mode with the balance between power consumption and activity configurable by the appli - cation. in shutdown mode, the internal ldo regulators are disabled, all activity stops, all register and fuel-gauge output values are lost, but nonvolatile configuration values are preserved. any learned information not yet stored to nonvolatile memory is lost. figure 34 shows the relation - ship between the different operating modes. figure 34. flowchart of operating modes maxim integrated 57 active mode full fuel gauge functionality with maximum monitoring rate hibernate mode full fuel gauge functionality with reduced power consumption and reduced monitoring rate shutdown mode minimum power consumption operation paused register values not maintained pack connect rising edge of any communication line ic reset power cycle or software por pack disconnect config.commsh = 1 and communication lines low software shutdown config . shdn = 1 pack idle hibcfg.enhib = 1 and current < hibcfg.hibthreshold for longer than hibcfg.hibentertime pack active hibcfg.enhib = 1 and current > hibcfg.hibthreshold for longer than hibcfg.hibexittime firmware undervoltage shutdown vc ell < nrfastvshdn . vshdn www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
entering hibernate mode: pack idle. hibernate mode must be enabled by set - ting hibcfg.enhib = 1. the ics then enter hibernate mode if the absolute value of the current register falls below the hibthreshold setting for longer than hibentertime. see the hibcfg register for details. exiting hibernate mode: pack active. the ics return to active mode if the absolute value of the current register rises above the hibthreshold setting for longer than hibexittime. see the hibcfg register for details. entering shutdown mode (from active mode or hibernate mode): software shutdown. software shutdown can be forced by setting config.shdn = 1 and waiting lon - ger than the shdntimer register value (default 45s). firmware undervoltage shutdown. the ics enter shut - down mode if the vcell register value representing the lowest voltage of the cell stack falls below the nrfast - vshdn.vshdn threshold setting (2.5v by default). pack disconnect. the ic enters shutdown if config. commsh = 1 and communication lines are open (logic-low) for longer than the shdntimer period. this option is not recommended. these shutdown entry modes are all programmable according to the application. shutdown events are gated by the shdntimer register, which allows a long delay between the shutdown event and entering the mode. by behaving this way, the ic takes the best reading of the relaxation voltage. exiting shutdown mode (ics always exit into active mode): pack connect. the ics return to active mode on the rising edge of any communication line. ic reset. if the ics are power cycled or the software reset command is sent, the ics return to active mode of operation. ic communication is always allowed in any mode of oper - ation. see the detailed descriptions of the shdntimer, hibcfg, and config registers. if the ic was previously in shutdown mode, starting communication wakes it up and the data is invalid for 550ms. status and confguration registers the following registers control ic operation not related to the fuel gauge such as power-saving modes, nonvolatile backup, and alrt1 pin functionality. devname register (021h) register type: special nonvolatile backup: none the devname register holds device type and firmware revision information. this allows host software to easily identify the type of ic being communicated to. figure 35 shows the devname register format. device: indicates the device type as follows: 1h = MAX17201 or max17211 5h = max17205 or max17215 revision: indicates the firmware revision inside the ics. nromid0 (1bch)/nromid1 (1bdh)/nromid2 (1beh)/nromid3 (1bfh) registers register type: special nonvolatile restore: there are no associated restore locations for these registers each max1720x/1x ic contains a unique 64 bit identifi - cation value that is contained in the nromid registers. note this is the same id that can be read using the max17211/15 1-wire rom id commands. the unique id can be reconstructed from the nromid registers as shown in figure 36 . figure 35. devname (021h) format figure 36. nromid (1bch to 1bfh) format maxim integrated 58 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 revision device nromid3[15:0] nromid2[15:0] nromid1[15:0] nromid0[15:0] rom id [63:48] rom id [47:32] rom id [31:16] rom id [15:0] www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nrsense register (1cfh) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nrsense register is the designated location to store the sense resistor value used by the application. this value is not used by the ic as all current and capacity information is reported in terms of v and vh. host software can use the nrsense register value to convert current and capacity information into ma and mah. it is recommended that the sense resistor value be stored with an lsb weight of 10? giving a range of 10? to 655.35m. table 7 shows recommended register settings based on common-sense resistor values. npackcfg register (1b5h) register type: special nonvolatile restore: packcfg (0bdh) the npackcfg register configures the voltage and tem - perature inputs to the adc and also to the fuel gauge. npackcfg configuration must match the pack hardware for proper operation of the ic. see the typical operating circuits section for recommended npackcfg settings based on operating circuit configuration. the default fac - tory setting for npackcfg is 0x0c01 for the max172x1 and 0x0a02 for the max172x5. figure 37 shows the register format. ncells: number of cells. this field configures the ics for the number of cells in series in the cell pack. this field value must match the cell stack size for proper operation of the fuel gauge and other ic functions. 0: always write 0. balcfg: balancing config. this field sets the cell balanc - ing voltage threshold. when set to 0 cell balancing is dis - abled. when set to any other value, cell balancing begins when a voltage delta as determined by the following equation is detected. note there are other criteria for deter - mining the start of cell balancing. see the cell balancing (max17205/max17215 only) section for details. balancing threshold = 1.25mv ? 2 balcfg cxen: cellx channel enable. set to 1 to enable voltage measurements of the cellx pin. voltage measured from cellx will be used as an input to the fuel gauge if cxen = 1 and chen = 0, regardless of bten state. bten: batt channel enable. set to 1 to enable voltage measurements of the v batt pin. voltage measured from v batt will be used as an input to the fuel gauge only if bten = 1, cxen = 0, and chen = 0. chen: cell channel enable. set to 1 to enable voltage measurements of the cell1, cell2, and v batt pins. voltage measured from these pins is used as an input to the fuel gauge if chen = 1 regardless of cxen and bten states. tden: die temperature enable. set to 1 to enable inter - nal temperature measurements. a1en: ain1 channel enable. set to 1 to enable tempera - ture measurements on the ain1 pin. a2en: ain2 channel enable. set to 1 to enable tempera - ture measurements on the ain2 pin. fgt: fuel gauge temperature input select. fgt in combination with the tden, a1en, and a2en bits deter - mines which temperature measurement is used by the fuel gauge. this allows multiple temperature inputs to be measured and still control which one is the input to the fuel gauge. table 8 shows how the fuel gauge input is selected. sense resistor nrsense register 0.005 0x01f4 0.010 0x03e8 0.020 0x07d0 table 7. recommended nrsense register values for common-sense resistors figure 37. packcfg (0bdh)/npackcfg (1b5h) format maxim integrated 59 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 fgt 0 a2en a1en tden chen bten cxen balcfg 0 ncells www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nnvcfg0 register (1b8h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nnvcfg0 register manages nonvolatile memory backup of device and fuel gauge register ram locations. each bit of the nnvcfg0 register, when set, enables a given register location to be restored from a correspond - ing nonvolatile memory location after reset of the ic. if nonvolatile restore of a given register is not enabled, that location initializes to a default value after reset instead. see the individual register descriptions for details. the factory default value for nnvcfg0 register is 0x0100. figure 38 shows the nnvcfg0 register format. ensbs: enable sbs. this bit enables sbs functions of the ic. when set, all registers accessed with the sbs 2-wire address will be regularly updated. when this bit is clear all sbs related nonvolatile configuration register locations can be used as general-purpose user memory. enhcfg: enable hibcfg restore. set this bit to enable hibcfg register to be restored after reset by the nhibcfg register. when this bit is cleared, hibcfg restores with its alternate initialization value and nhibcfg can be used for general-purpose data storage. enaf: enable age forecasting. set this bit to enable age forecasting functionality. when this bit is clear nagefc - cfg can be used for general purpose data storage. when set, nsoc and nvolttemp become repurposed for age forecasting data. when enaf is set to 1, nnvcfg2.envt and nnvcfg2.ensoc must be 0 for proper operation. enmc: enable misccfg restore. set this bit to enable misccfg register to be restored after reset by the nmisc - cfg register. when this bit is cleared, misccfg restores with its alternate initialization value and nmisccfg can be used for general- purpose data storage. endc: enable designcap restore. set this bit to enable designcap register to be restored after reset by the ndesigncap register. when this bit is cleared, designcap restores with its alternate initialization value and ndesign - cap can be used for general-purpose data storage. enve: enable vempty restore. set this bit to enable vempty register to be restored after reset by the nvempty register. when this bit is cleared, vempty restores with its alternate initialization value and nvempty can be used for general purpose data storage. encg: enable cgain and coff restore. set this bit to enable cgain and coff registers to be restored after reset by the ncgain register. when this bit is cleared, cgain and coff restore with their alternate initialization values and ncgain can be used for general-purpose data storage. fgt a2en a1en tden fuel gauge input/temp register 0 0 0 1 internal/dietemp (135h) 1 0 1 0 ain1/temp1 (134h) 0 1 0 0 ain2/temp2 (13bh) 0 1 0 1 ain2/temp2 (13bh) 0 0 1 1 internal/dietemp (135h) 1 0 1 1 ain1/temp1 (134h) 1 1 1 0 ain1/temp1 (134h) 0 1 1 0 temp1 (134h) and temp2 (13bh) 1 1 1 1 ain1/temp1 (134h) 0 1 1 1 temp1 (134h) and temp2 (13bh) all other confgurations illegal confguration table 8. fuel gauge temperature input figure 38. nnvcfg0 (1b8h) format maxim integrated 60 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 enocv enx 0 0 encfg enfcfg enrcfg enlcfg enict encg enve endc enmc enaf enhcfg ensbs www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
enict: enable ichgterm restore. set this bit to enable ichgterm register to be restored after reset by the nichg - term register. when this bit is cleared, ichgterm restores to a value of 1/3rd of the nfullcapnom register and nich - gterm can be used for general-purpose data storage. enlcfg: enable learncfg restore. set this bit to enable learncfg register to be restored after reset by the nlearncfg register. when this bit is cleared, learncfg restores with its alternate initialization value and nlearncfg can be used for general-purpose data storage. enrcfg: enable relaxcfg restore. set this bit to enable relaxcfg register to be restored after reset by the nrelax - cfg register. when this bit is cleared, relaxcfg restores with its alternate initialization value and nrelaxcfg can be used for general-purpose data storage. enfcfg: enable filtercfg restore. set this bit to enable filtercfg register to be restored after reset by the nfilter - cfg register. when this bit is cleared, filtercfg restores with its alternate initialization value and nfiltercfg can be used for general-purpose data storage. encfg: enable config and config2 restore. set this bit to enable config and config2 registers to be restored after reset by the nconfig register. when this bit is cleared, config and config2 restore with their alternate initializa - tion values and nconfig can be used for general-purpose data storage. 0: this location must remain 0. do not write this location to 1. enx: enable xtable restore. set this bit to enable nxtable register locations to be used for cell characterization data. when this bit is cleared, the ics use the default cell model and all nxtable register locations can be used as general- purpose user memory. enocv: enable ocvtable restore. set this bit to enable nocvtable register locations to be used for cell charac - terization data. when this bit is cleared, the ics use the default cell model and all nocvtable register locations can be used as general-purpose user memory. nnvcfg1 register (1b9h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nnvcfg1 register manages nonvolatile memory restore of device and fuel gauge register ram locations. each bit of the nnvcfg1 register, when set, enables a given register location to be restored from a corresponding nonvolatile memory location after reset of the ics. if non - volatile backup of a given register is not enabled, that loca - tion initializes to a default value after reset instead. see the individual register descriptions for details. figure 39 shows the nnvcfg1 register format. 0: this location must remain 0. do not write this location to 1. encte: enable converge-to-empty. set this bit to enable the nconvgcfg register settings to affect the converge to empty functionality of the ic. when this bit is clear, converge-to-empty is disabled and nconvgcfg can be used for general- purpose data storage. encrv: enable curve correction. set this bit to enable curvature correction on thermistor readings, improving thermistor translation performance to -40c to +80c (instead of -10c to +50c). note that encrv and enmtl are mutually exclusive functions. do not set both encrv and enmtl at the same time. enat: enable alert thresholds. set this bit to enable ialrtth, valrtth, talrtth, and salrtth registers to be restored after reset by the nialrtth, nvalrtth, ntalrtth, and nsalrtth registers respectively. when this bit is cleared, these registers restore with their alternate initial - ization values and the nonvolatile locations can be used for general-purpose data storage. enttf: enable time to full configuration. set to 1 to enable nttfcfg (configures cvmixcap and cvhalftime) for tun - ing of time-to-full performance. otherwise, cvmixcap and cvhalftime restore to their alternate initialization values and nttfcfg can be used for general-purpose data storage. enodsc: enable od and sc overcurrent comparators. set this bit to enable odscth and odsccfg registers to be restored after reset by the nodscth and nodsc - cfg registers. when this bit is cleared, odscth and odsccfg restore with their alternate initialization values (comparators disabled) and nodscth and nodsccfg can be used for general- purpose data storage. figure 39. nnvcfg1 (1b9h) format maxim integrated 61 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 entgo enmtl enfth enrfvsh enodsc 0 0 0 0 0 0 enttf ena t encrv encte 0 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
enrfvsh: enable rfast and vshdncfg restore. set this bit to enable rfast and vshdncfg registers to be restored after reset by the nrfastvshdn register. when this bit is cleared, rfast and vshdncfg restore with their alternate initialization values and nrfastvshdn can be used for general-purpose data storage. enfth: enable fullsocthr configuration restore. set this bit to enable fullsocthr register to be restored after reset by the nfullsocthr register. when this bit is cleared, fullsocthr restore with its alternate initializa - tion value and nfullsocthr can be used for general- purpose data storage. enmtl: enable cgtempco restore. set this bit to enable cgtempco register to be restored after reset by the ntcurve register. when this bit is cleared, cgtempco restores with its alternate initialization value. ntcurve can be used for general-purpose data storage if both encrv and enmtl are clear. do not set both encrv and enmtl at the same time. entgo: enable tgain and toff restore. set this bit to enable tgain and toff registers to be restored after reset by the ntgain and ntoff registers. when this bit is cleared, tgain and toff restore with their alternate initialization values. ntgain and ntoff can then be used for general-purpose data storage. nnvcfg2 register (1bah) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nnvcfg2 register manages nonvolatile memory back - up and restore of device and fuel gauge register ram loca - tions. each bit of the nnvcfg2 register, when set, enables a given register location to be restored from or backed up to a corresponding nonvolatile memory location after reset of the ics. if nonvolatile backup of a given register is not enabled, that location initializes to a default value after reset instead. see the individual register descriptions for details. figure 40 shows the nnvcfg2 register format. cyclespsave: cycles per save. this field defines the number of equivalent full cell cycles between backup operations. a backup operation occurs each time the cycles register exceeds the ncycles register plus the cyclespsave value. cyclespsave has an lsb weight of 0.5 cycles giving a full range of 0.5 to 64.5 cycles (with an offset of +0.5 cycles). for example, set cyclespsave to 19d to automatically save every 10 cycles. since the max1720x/1x provides 202 history writes, choose cyclespsave carefully according to the maximum battery cycle lifespan. for example, if the bat - tery supports 1000 cycles, set cyclespsave to at least 5 cycles (cyclespsave = 9). enmet: enable metal current sensing. setting this bit to 1 enables temperature compensation of current read - ings for allowing copper trace current sensing. this also forces the packcfg.tden bit to 1 after reset of the ics to guarantee internal temperature measurements occur. see also nnvcfg1.enmtl, which enables ntcurve register operation for adjustment of the current sensing tempera - ture coefficient. eniavg: enable iavgempty backup and restore. set this bit to enable iavgempty register to be restored after reset by the niavgempty register. when this bit is clear iavgempty will restore with its alternate initialization value and niavgempty can be used as general-purpose memory. enfc: enable fullcap and fullcaprep backup and restore. set this bit to enable fullcap and fullcaprep registers to be restored after reset by the nfullcaprep register and fullcaprep to backup to nfullcaprep. when this bit is clear fullcap and fullcaprep registers restore from the nfullcapnom register. nfullcaprep can then be used as general purpose user memory. envt: enable voltage and temperature backup. set this bit to enable storage of avgvcell and avgta register information into the nvolttemp register during save opera - tions. there is no corresponding restore option. when nnvcfg2.envt and nnvcfg0.enaf are clear nvolttemp can be used as general purpose memory. note that envt should not be set simultaneously with nnvcfg0.enaf (ageforecasting). enmmc: enable minmaxcurr backup. set this bit to enable storage of minmaxcurr register information into the nminmaxcurr register during save operations. there is no corresponding restore option. when this bit is clear nminmaxcurr can be used as general-purpose memory. figure 40. nnvcfg2 (1bah) format maxim integrated 62 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 ent ensoc enmmt enmmv enmmc envt enfc enia vg enmet cyclespsa ve www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
enmmv: enable minmaxvolt backup. set this bit to enable storage of minmaxvolt register information into the nminmaxvolt register during save operations. there is no corresponding restore option. when this bit is clear nminmaxvolt can be used as general-purpose memory. enmmt: enable minmaxtemp backup. set this bit to enable storage of minmaxtemp register information into the nminmaxtemp register during save operations. there is no corresponding restore option. when this bit is clear nminmaxtemp can be used as general-purpose memory. ensoc: enable mixsoc and vfsoc backup. set this bit to enable storage of mixsoc and vfsoc register information into the nsoc register during save opera - tions. there is no corresponding restore option. when this bit and nnvcfg0.enaf are clear nsoc can be used as general purpose memory. note that ensoc should not be set simultaneously with nnvcfg0.enaf (ageforecasting). ent: enable timerh backup and restore. set this bit to enable timerh register to be backed up and restored by the ntimerh register. when this bit is cleared, timerh restores with its alternate initialization value and ntimerh can be used as general-purpose memory. shdntimer register (03fh) register type: special nonvolatile backup: none initial value: 0x0000 the shdntimer register sets the timeout period from when a shutdown event is detected until the device disables the regulators and enters low-power mode. figure 41 shows the shdntimer register format. ctr: shutdown counter. this register counts the total amount of elapsed time since the shutdown trigger event. this counter value stops and resets to 0 when the shut - down timeout completes. the counter lsb is 1.4s thr: sets the shutdown timeout period from a minimum of 45s to a maximum of 1.6h. the default por value of 0h gives a shutdown delay of 45s in active mode. in default hibernate mode, the minimum shutdown time is 12 min - utes. the equation setting the period is: shutdown timeout period = 175.8ms ? 2 (8+thr) in active mode nconfg register (1b0h) register type: special nonvolatile restore: config (01dh) and config2 (0bbh) if nnvcfg0.encfg is set. alternate initial value: 0x2210 for config, 0x0050 for config2 the nconfig register holds all shutdown enable, alert enable, and temperature enable control bits. writing a bit location enables the corresponding function within one task period. figure 42 , figure 43 , and figure 44 show the register formats. 0: bit must be written 0. do not write 1. 1: bit must be written 1. do not write 0. figure 41. shdntimer (03fh) format figure 42. nconfig (1b0h) format figure 43. config (01dh) format figure 44. config2 (0bbh) format maxim integrated 63 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 thr ctr d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 ss ts vs alr tp ainsh t en t ex shdn commsh alsh 1 fthrm aen dsocen t alrten d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 ss ts vs alr tp ainsh t en t ex shdn commsh 0 ethrm fthrm aen bei ber d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 dsocen t alrten 0 1 0 0 0 por_cmd www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
ber: enable alert on battery removal when the ics are mounted host side. when ber = 1, a battery-removal condition, as detected by the ain pin voltage, triggers an alert. note that if this bit is set to 1, the alsh bit should be set to 0 to prevent an alert condition from causing the device to enter shutdown mode. bei: enable alert on battery insertion when the ics are mounted host side. when bei = 1, a battery-insertion condition, as detected by the ain pin voltage, triggers an alert. note that if this bit is set to 1, the alsh bit should be set to 0 to prevent an alert condition from causing the device to enter shutdown mode. aen: enable alert on fuel-gauge outputs. when aen = 1, exceeding any of the alert threshold register values by current, voltage, or soc triggers an alert. this bit affects the alrt1 pin operation only. the smx, smn, tmx, tmn, vmx, vmn, imx, and imn bits of the status register (000h) are not disabled. note that if this bit is set to 1, the alsh bit should be set to 0 to prevent an alert condition from causing the device to enter shutdown mode. fthrm: force thermistor bias switch. this allows the host to control the bias of the thermistor switch or enable fast detection of battery removal. set fthrm = 1 to always enable the thermistor bias switch. with a standard 10k thermistor, this adds an additional ~200a to the current drain of the circuit. ethrm: enable thermistor. set to logic 1 to enable the automatic thrm output bias and ain1/ain2 measurement. commsh: communication shutdown. set to logic 1 to force the device to enter shutdown mode if both sda and scl are held low (max1720x) or dq is held low (max1721x) for more than timeout of the shdntimer register. this also configures the device to wake up on a rising edge of any communication. note that if commsh and ainsh are both set to 0, the device wakes up an edge of any of the dq/sda or od/scl pins. see the modes of operation section. shdn: shutdown. write this bit to logic 1 to force a shut - down of the device after timeout of the shdntimer register (default 45s delay). shdn is reset to 0 at power-up and upon exiting shutdown mode. in order to command shut - down within 45s, first write hibcfg = 0x0000 to enter active mode. tex: temperature external. when set to 1, the fuel gauge requires external temperature measurements to be writ - ten from the host. when set to 0, the ic's own measure - ments as configured by the packcfg register are used instead. ten: enable temperature channel. set to 1 and set ethrm or fthrm to 1 to enable temperature measure - ments as defined in the packcfg register. ainsh: ain1 pin shutdown. set to 1 to enable device shutdown when the ic is mounted host side and the bat - tery is removed. the ics enter shutdown if the ain1 pin remains high (ain1 > v thrm - v det ) for longer than the timeout of the shdntimer register. this also configures the device to wake up when ain1 is pulled low on cell insertion. note that if commsh and ainsh are both set to 0, the device wakes up an edge of any of the dq/sda or od/scl pins. alrtp: alrt1 pin polarity. if alrtp = 0 the alrt1 pin is active low and if alrtp = 1 the alrt1 pin is active high. vs: voltage alrt1 sticky. when vs = 1, voltage alerts can only be cleared through software. when vs = 0, volt - age alerts are cleared automatically when the threshold is no longer exceeded. ts: temperature alrt1 sticky. when ts = 1, tempera - ture alerts can only be cleared through software. when ts = 0, temperature alerts are cleared automatically when the threshold is no longer exceeded. ss: soc alrt1 sticky. when ss = 1, soc alerts can only be cleared through software. when ss = 0, soc alerts are cleared automatically when the threshold is no longer exceeded. por_cmd: firmware restart. set this bit to 1 to restart ic firmware operation without performing a recall of nonvolatile memory into ram. this allows different ic configurations to be tested without changing nonvolatile memory settings. this bit is set to 0 at power-up and auto - matically clears itself after firmware restart. see reset commands . talrten: temperature alert enable. set this bit to 1 to enable temperature based alerts. write this bit to 0 to dis - able temperature alerts. this bit is set to 1 at power-up. dsocen: 1% soc change alert enable. set this bit to 1 to alert output on 1% soc change. this bit is set to 0 at power-up. maxim integrated 64 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
status register (000h) register type: special nonvolatile backup: none initial value: 0x0002 the status register maintains all flags related to alert thresholds and battery insertion or removal. figure 45 shows the status register format. por: power-on reset. this bit is set to a 1 when the device detects that a software or hardware por event has occurred. this bit must be cleared by system soft - ware to detect the next por event. por is set to 1 at power-up. imn: minimum current alert threshold exceeded. this bit is set to a 1 whenever a current register reading is below the minimum ialrtth value. this bit is cleared automati - cally when current rises above minimum ialrtth value. imn is set to 0 at power-up. bst: battery status. useful when the ic is used in a host side application. this bit is set to 0 when a battery is pres - ent in the system and set to 1 when the battery is absent. bst is set to 0 at power-up. imx: maximum current alert threshold exceeded. this bit is set to a 1 whenever a current register reading is above the maximum ialrtth value. this bit is cleared automatically when current falls below maximum ialrtth value. imx is set to 0 at power-up. dsoci: state of charge 1% change alert. this is set to 1 whenever the repsoc register crosses an integer per - centage boundary such as 50.0%, 51.0%, etc. must be cleared by host software. dsoci is set to 0 at power-up. vmn: minimum voltage alert threshold exceeded. this bit is set to a 1 whenever a vcell register reading is below the minimum valrtth value. this bit may or may not need to be cleared by system software to detect the next event. see config.vs bit description. vmn is set to 0 at power-up. tmn: minimum temperature alert threshold exceeded. this bit is set to a 1 whenever a temperature register reading is below the minimum talrtth value. this bit may or may not need to be cleared by system software to detect the next event. see config.ts bit description. tmn is set to 0 at power-up. smn: minimum soc alert threshold exceeded. this bit is set to a 1 whenever soc falls below the minimum salrtth value. this bit may or may not need to be cleared by system software to detect the next event. see config. ss and misccfg.sacfg bit descriptions. smn is set to 0 at power-up. bi: battery insertion. useful when the ic is used in a host-side application. this bit is set to a 1 when the device detects that a battery has been inserted into the system by monitoring the ain1 pin. this bit must be cleared by system software to detect the next insertion event. bi is set to 0 at power-up. vmx: maximum voltage alert threshold exceeded. this bit is set to a 1 whenever a vcell register reading is above the maximum valrtth value. this bit may or may not need to be cleared by system software to detect the next event. see config.vs bit description. vmx is set to 0 at power-up. tmx: maximum temperature alert threshold exceeded. this bit is set to a 1 whenever a temperature register reading is above the maximum talrtth value. this bit may or may not need to be cleared by system software to detect the next event. see config.ts bit description. tmx is set to 0 at power-up. smx: maximum soc alert threshold exceeded. this bit is set to a 1 whenever soc rises above the maximum salrtth value. this bit may or may not need to be cleared by system software to detect the next event. see config. ss and misccfg.sacfg bit descriptions. smx is set to 0 at power-up. br: battery removal. useful when the ics are used in a host-side application. this bit is set to a 1 when the system detects that a battery has been removed from the system. this bit must be cleared by system software to detect the next removal event. br is set to 0 at power-up. x: dont care. this bit is undefined and can be logic 0 or 1. figure 45. status (000h) format maxim integrated 65 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 br smx tmx vmx bi smn tmn vmn dsoci imx x x bst imn por x www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
status2 register (0b0h) register type: special nonvolatile backup: none initial value: 0x0000 the status2 register maintains status of hibernate mode. figure 46 shows the status register format. porskip: this bit is set when initialization of the ics ram is skipped during reset. this occurs under conditions where the ram values are already valid prior to a reset such as when the firmware restart command is sent to the ics by software. hib: hibernate status. this bit is set to a 1 when the device is in hibernate mode or 0 when the device is in active mode. hib is set to 0 at power-up. x: dont care. this bit is undefined and can be logic 0 or 1. nhibcfg register (1b4h) register type: special nonvolatile restore: hibcfg (0bah) if nnvcfg0.enhcfg is set. alternate initial value: 0x890b (5.625 second hibernate mode) the nhibcfg register controls hibernate mode function - ality. the ics enters hibernate mode if the measured system current falls below the hibthreshold setting for longer than the hibentertime delay. while in hibernate mode, the ics reduce its operating current by slowing down its task period as defined by the hibscalar setting. the ics automatically return to active mode of operation if current readings go above the hibthreshold setting for longer than the hibexittime delay. figure 47 shows the register format. 0: bit must be written 0. do not write 1. hibscalar: sets the task period while in hibernate mode based on the following equation: hibernate mode task period(s) = 702ms x 2 (hibscalar) hibexittime: sets the required time period of con - secutive current readings above the hibthreshold value before the ic exits hibernate and returns to active mode of operation. hibernate mode exit time(s) = (hibexittime + 1) x 702ms x 2 (hibscalar) hibthreshold: sets the threshold level for entering or exit - ing hibernate mode. the threshold is calculated as a fraction of the full capacity of the cell using the following equation: hibernate mode threshold(ma) = (fullcap(vh)/(0.8 hours x r sense )/2 (hibthreshold) hibentertime: sets the time period that consecutive current readings must remain below the hibthreshold value before the ics enter hibernate mode as defined by the following equation. the default hibentertime value of 000b causes the ics to enter hibernate mode if all cur - rent readings are below the hibthreshold for a period of 5.625 seconds, but the ics could enter hibernate mode as quickly as 2.812s. 2.812s x 2 (hibentertime) < hibernate mode entry time < 2.812s x 2 (hibentertime + 1) enhib: enable hibernate mode. when set to 1, the ics enter hibernate mode if conditions are met. when set to 0, the ics always remain in active mode of operation. figure 46. status2 (0b0h) format figure 47. hibcfg (0bah)/nhibcfg (1b4h) format maxim integrated 66 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 x x x x x x x x x x x x x x hib porskip d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 enhib hibentert ime hibthreshold 0 0 0 hibexitt ime hibscalar www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
commstat register (061h) register type: special nonvolatile backup: none the commstat register tracks the progress and error state of any command sent to the command register. figure 48 shows the register format. x: dont care. this bit is undefined and can be logic 0 or 1. nvbusy: this read only bit tracks if nonvolatile memory is busy or idle. nvbusy defaults to 0 after reset indicating nonvolatile memory is idle. this bit is set after a nonvola - tile related command is sent to the command register and clears automatically after the operation completes. nverror: this bit indicates the results of the previous sha-256 or nonvolatile memory-related command sent to the command register. this bit is set if there was an error executing the command. once set, the bit must be cleared by software to detect the next error. cell balancing (max17205/max17215 only) to maintain equal charge on all cells inside a 2s or 3s pack, the max17205/max17215 implements internal 10 cell-balancing mosfets. while charging, if the ics detect that the voltage of a cell or cells is higher than the aver - age voltage of the cell pack as determined by packcfg. balcfg setting, the ics enable an internal shunt fet to discharge current from the corresponding cell. the small difference in charging current will balance the charge level of all cells in the pack over time. cell balancing window of operation when enabled, cell balancing occurs only during a window near the end of a charge cycle when certain conditions are met. first, the voltage fuelgauge state of charge (vfsoc) register value must be larger than the fullsocthr register value indicating the pack is nearly full. second, the avgcurrent register value must be above 0xfff8 but less than 4 times the ichgterm register value indicating the charge cycle is nearing completion. cell balancing continues as long as vfsoc remains above fullsocthr. figure 49 shows the window of when cell balancing may occur. figure 49. cell balancing window of operation figure 48. commstat (061h) format maxim integrated 67 a vg c urrent reading 4 x ic hg t erm 0 x fff 8 0 ma charging discharging cell balancing window vfsoc end of charge f ull soct hr pack state of charge start of load d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 x x x x x x x x x x x x x nverror nvbusy x www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
cell balancing order and thresholds the ic balances only one cell at a time, in order, starting with the highest voltage cell in the pack. as soon as the cell balancing window is entered the maximum and mini - mum average cell voltages are calculated. if the difference from max to min is more than the threshold defined by the packcfg.balcfg setting, the corresponding internal balancing switch is enabled to reduce charging current flow through the highest cell. table 9 shows all balancing threshold levels determined by balcfg. if enabled, the recommended balancing threshold is 011b or 10.0mv. cell balancing circuits figure 50 shows the equivalent balancing circuits for 2s and 3s cell packs. internal cell-balancing mosfets allow current to be drawn from an individual cell in the pack during charge. to limit current during cell balancing, an external resistor must be added in series with the cell1 and cell2 pins. if these resistors are not installed, power in excess of the ic package maximum current rating could be drawn leading to failure. table 9. cell balancing thresholds balcfg value avgcell(1:4)Cvcell(1:4) ( m v) balcfg value avgcell(1:4) - vcell(1:4) ( m v) 000 balancing disabled 100 20.0 001 2.5 101 40.0 010 5.0 110 80.0 011 10.0 111 160.0 figure 50. 2s and 3s balancing circuits maxim integrated 68 max 17205 / max 17215 csp v batt cell 2 cell 1 10 10 1 nf 1 nf 1 nf pack - r bal r bal cell 1 cell 2 cell 3 pack + 10 10 3 s configuration balancing circuit csp v batt cell 2 cell 1 10 10 1 nf 1 nf pack - r bal cell 1 cell 2 pack + unused 10 2 s configuration balancing circuit max 17205 / max 17215 csn gnd ( wlp ( only ) csn ( tdfn ) gnd ( wlp ) csn gnd ( wlp ( only ) csn ( tdfn ) gnd ( wlp ) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
cell balancing current external series resistors on the cell1 and cell2 pins are required to limit current flow when balancing. the value of these resistors should be selected to prevent exceeding the maximum rated current for these pins as listed in the electrical characteristics table. the balancing currents will not be the same for each cell. they can be calculated as follows. remember to size these resistors to handle the power dissipated by balancing. bottom cell: ibal max = v cell-max /(r bal +r switch ) middle cell: ibal max = v cell-max /(r bal +r switch ) top cell: ibal max = v cell-max / (r bal +r switch +10) where: r switch is 10 (typ) v cell-max is the maximum cell voltage during charging r bal is the external series resistor to limit current note that a minimum resistance of r bal should be kept above 75 to prevent the balancing current from exceeding the absolute maximum current ratings for the v batt , cell1, cell2, csn (tdfn), and gnd (wlp) pins. cell balancing duty cycle the ics temporary interrupt cell balancing to prevent interference with voltage and current measurements. balancing is disabled 45ms minimum prior to making a measurement to allow for settling of the external filter on the pin. this pause occurs once every task loop of the processor and has minimal impact on the average balanc - ing current as shown in figure 51 . analog measurements the max1720x/max1721x monitors cell pack voltage, cell pack current, cell pack temperature, and the voltage of each cell individually. this information is provided to the fuel guage algorithm to predict cell capacity and also made available to the user. note that adc related register information is not maintained while the ic is in shutdown mode. the following register information is invalid until the first measurement cycle after the ic returns to active mode of operation. voltage measurement the max1720x/max1721x can monitor each cell in the cell stack independently using the cell1, cell2, and v batt pins. the voltage of the entire stack in 2s to 4s configurations is also monitored directly on the v batt pin. for larger cell stacks, the cellx pin monitors an resistor divider circuit. the cell balancing switches are managed by firmware to ensure that balancing is disabled during the sample window. averages of individual cell voltages are also tracked as well as the minimum and maximum voltages seen by the fuel gauge. see the individual volt - age register descriptions for details. figure 51. cell balancing duty cycle maxim integrated 69 settling time and adc measurements balancing active 351 ms typical balancing active 55 ms typ www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
voltage measurement timing all analog measurements made by the ic are done so through a single adc with many input channels. adc measurement order and firmware post processing determine when a valid reading becomes available to the user. in addition, not all channels are measured each time through the firmware task loop. selection options for enabled channels creates a large number of possible timing options. table 10 shows the tim - ing for all voltage measurements made by the ic for typical pack configurations. table values assume the corresponding voltage measurement channel has been enabled through configuration. all times in this table are considered typical. vcell register (009h) register type: voltage nonvolatile backup: none each update cycle, the lowest reading from all cell volt - age measurements is placed in the vcell register. vcell is used as the voltage input to the fuel gauge algorithm. avgvcell register (019h) register type: voltage nonvolatile backup: none the avgvcell register reports an average of the vcell register readings. the time period for averaging is con - figurable from a 12-second to 24-minute time period. see the filtercfg register description for details on setting the time filter. the first vcell register reading after power-up or exiting shutdown mode sets the starting point of the avgvcell register. note that when a cell relaxation event is detected, the averaging period changes to the period defined by the relaxcfg.dt setting. the register reverts back to its normal averaging period when a charge or discharge current is detected. application n p ack c fg setting register first update after reset ( ms )* update rate in active mode ( ms )** update rate in hibernate mode ( s )*** voltages 1s cell pack 0x1c01 cell1, vcell 150 351 5.625 avgcell1 700 avgvcell 450 2sC4s cell pack w/o channel measurements 0x3a0n **** batt, vcell 150 351 5.625 avgvcell 450 high-cell count pack 0x390n **** cellx, vcell 150 351 5.625 avgvcell 450 2s cell pack with channel measurements 0x3c62 cell1, cell2, vcell 200 702 11.25 avgcell1, avgcell2 750 avgvcell 450 351 5.625 3s cell pack with channel measurements 0x3c63 cell1, cell2, cell3, vcell 250 1053 16.875 avgcell1, avgcell2, avgcell3 800 avgvcell 450 351 5.625 *avgcell1, avgcell2, avgcell3, and avgvcell registers are initialized using a single reading instead of an average. **not all registers update at the same time. updates are staggered to one channel per task period. update order is cellx, cell1, cell2, cell3, then batt. ***hibernate mode update times assume the default hibcfg.hibscalar (0xb, 5.625s) setting of 16 task periods. ****n indicates number of cells in series. table 10. voltage measurement timing maxim integrated 70 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxminvolt register (01bh) register type: special nonvolatile backup: saves to nmaxminvolt (1ach) if nnvcfg2.enmmv is set (does not restore from nonvolatile). initial value: 0x00ff the maxminvolt register maintains the maximum and minimum of vcell register values since device reset. each time the voltage registers update, they are compared against these values. if the new reading is larger than the maximum or less than the minimum, the corresponding value is replaced with the new reading. at power-up, the maximum voltage value is set to 00h (the minimum) and the minimum voltage value is set to ffh (the maximum). therefore, both values are changed to the voltage regis - ter reading after the first update. host software can reset this register by writing it to its power-up value of 0x00ff. the maximum and minimum voltages are each stored as 8-bit values with a 20mv resolution. figure 52 shows the register format. maxvcell: maximum vcell register reading (20mv resolution) minvcell: minimum vcell register reading (20mv resolution) maxminvolt is not cumulative across the entire battery lifetime. after each periodic nonvolatile-memory save, maxminvolt resets to 0x00ff to find the next max/min volt across the next segment of battery life. this behav - ior helps provide a useful log across the battery lifetime where each log segment shows the maximum and mini - mum voltage experienced across only that segment. cell1 (0d8h)/cell2 (0d7h)/cell3 (0d6)/cell4 (0d5h) registers register type: voltage nonvolatile backup: none these registers maintain the measured or calculated volt - age of each cell in the stack. if packcfg.chen = 1 the ics monitor each cell (v batt -v cell2 , v cell2 - v cell1 , and v cell1 - v csp ) and reports results in the cell1, cell2, and cell3 registers. the measurements for the lowest cell in the stack, second cell, and third cell are placed in cell1, cell2, and cell3 registers respectively. if packcfg. chen = 0, packcfg.cxen = 0, and packcfg.bten = 1 then each register up to cell4 is populated with batt/packcfg. ncells. if packcfg.chen = 0, packcfg.bten = 0, and packcfg.cxen = 1 then each register up to cell4 is popu - lated with the cellx reading. avgcell1 (0d4h)/avgcell2 (0d3h)/avgcell3 (0d2h)/ avgcell4 (0d1h) registers register type: voltage nonvolatile backup: none the avgcell1, avgcell2, avgcell3, and avgcell4 registers report an 8-sample filtered average of the corresponding cell1, cell2, cell3, and cell4 register readings, respectively. cellx register (0d9h) register type: voltage nonvolatile backup: none the cellx register reports two times the voltage mea - sured on the cellx pin (v cellx - v csp ). the external resistor divider on the cellx pin should always divide to 2/5 of the voltage of a single cell. batt register (0dah) register type: special nonvolatile backup: none the batt register reports the voltage of the entire cell stack in 2s to 4s configuration. the register has a range 0 to 81.92v but is limited by the maximum voltage of the vbatt pin. it has an lsb resolution of 1.25mv. if packcfg.chen = 1, batt is calculated by cell1 + cell2 + cell3. otherwise, if packcfg.cxen = 1, batt is calculated by cellx x packcfg.ncells, giving a maximum output of 76.8v when using 15-cell configuration. otherwise, if packcfg.bten = 1, batt is a direct measure - ment of the v batt pin with up to 20.48v range. figure 52. maxminvolt (01bh)/nmaxminvolt (1ach) format maxim integrated 71 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 maxvcell minvcell www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
current measurement the max1720x/max1721x monitors the current flow through the cell pack by measuring the voltage between the csn and csp pins over a 51.2mv range. in active mode, updates occur in intervals of 351.5ms. in hibernate mode the update interval is set by the hibcfg register. the cell balancing switches are managed by firmware to ensure that balancing is disabled during the sample win - dow. all ics are calibrated for current-measurement accu - racy at the factory. however, if the application requires, current register readings can be adjusted by changing the coff and cgain registers using ncgain. if the application uses a sense resistor with a large tem - perature coefficient such as a copper metal board trace, current readings can be adjusted based on the tempera - ture measured by the ics. the cgtempco register stores a percentage per c value that is applied to current read - ings if the nnvcfg2.enmet bit is set. if nnvcfg1.enmtl = 0, the default temperature coefficient of copper is used for temperature adjustments. if enmtl = 1, the cgtempco register value is used for temperature adjustments. additionally, the ic maintains a record of the minimum and maximum current measured by the ics and an average current over a time period defined by the host. contents of the current and avgcurrent registers are indeterminate for the first conversion cycle time period after ic power-up. current measurement timing current measurements are always enabled regardless of npackcfg settings. table 11 shows the timing for current measurements made by the ics. all times in this table are considered typical. current register (00ah) register type: current nonvolatile backup: none the ic measures the voltage between the csp and csn pins and the result is stored as a twos complement value in the current register. voltages outside the minimum and maximum register values are reported as the minimum or maximum value. the register value should be divided by the sense resistance to convert to amps. the value of the sense resistor determines the resolution and the full-scale range of the current readings. table 12 shows range and resolution values for typical sense resistances. avgcurrent register (00bh) register type: current nonvolatile backup: none the avgcurrent register reports an average of current register readings over a configurable 0.7-second to 6.4- hour time period. see the filtercfg register description for details on setting the time filter. the first current register reading after returning to active mode sets the starting point of the avgcurrent filter. table 11. current measurement timing application n p ack c fg setting register first update after reset ( ms )* update rate in active mode ( ms ) update rate in hibernate mode ( s )** currents any any currentcurrent 150 351 5.625 avgcurrent 150 351 5.625 *avgcurrent register is initialized using a single reading instead of an average. **hibernate mode update times assume the default hibcfg.hibscalar (0xb, 5.625s) setting of 16 task periods. table 12. current measurement range and resolution vs. sense resistor value sense resistor (cgain=0x0400) () current register resolution ( a) current register range (a) 0.005 312.5 10.24 0.010 156.25 5.12 0.020 78.125 2.56 maxim integrated 72 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxmincurr register (01ch) register type: special nonvolatile backup: periodically saves to nmaxmincurr (1abh) if nnvcfg2.enmmc is set, but does not restore from nonvolatile memory. alternate initial value: 0x807f the maxmincurr register maintains the maximum and minimum current register values since the last ic reset or until cleared by the host software. each time the current register updates, it is compared against these values. if the reading is larger than the maximum or less than the minimum, the corresponding value is replaced with the new reading. at power-up, the maximum current value is set to 80h (the minimum) and the minimum current value is set to 7fh (the maximum). therefore, both values are changed to the current register reading after the first update. host software can reset this register by writing it to its power-up value of 0x807f. the maximum and mini - mum voltages are each stored as twos complement 8-bit values with 0.4mv/r sense resolution. figure 53 shows the register format. maxcurrent: maximum current register reading (0.40mv/r sense resolution) mincurrent: minimum current register reading (0.40mv/r sense resolution) maxmincurr is not cumulative across the entire battery lifetime. after each periodic nonvolatile-memory save, maxmincurr resets to 0x807f to find the next maximum and minimum current across the next segment of battery life. this behavior helps provide a useful log across the battery lifetime in which each log segment shows the maximum and minimum current experienced across only that segment. ncgain register (1c8h) register type: special nonvolatile restore: cgain (02eh) and coff (02fh) if nnvcfg0.encg is set. alternate initial value: cgain = 0x0400 and coff = 0x0000 the cgain and coff registers adjust the gain and offset of the current measurement result. the current measure - ment adc is factory trimmed to data sheet accuracy without the need for the user to make further adjustments. the default power-up settings for cgain and coff apply no adjustments to the current register reading. for specif - ic application requirements, the cgain and coff registers can be used to adjust readings as follows: current register = current adc reading (cgain register/0400h) + coff register the nonvolatile backup of cgain and coff is combined into a single register formatted as shown in figure 54 . ncoff: value to restore into the coff register giving a range of -32 to +31 lsbs. coff signs extend if the value is negative. ncgain: value to restore into bits d11 to d2 of the cgain register as in the following equation. ncgain can be a negative value. cgain signs extend to maintain polarity. cgain = (ncgain and 0xffc0) >> 4 cgtempco register (16dh) register type: special alternate initial value: 0x20c8 if nnvcfg1.encrv = 0 and nnvcfg2.enmet = 1 then use cgtempco to adjust current measurements for tempera - ture. cgtempco has a range of 0% to 3.1224% per c with a step size of 3.1224/0x10000 percent per c. if the nnvcfg1.enmtl bit is clear, cgtempco defaults to a value of 0x20c8 or 0.4% per c, which is the approximate temperature coefficient of a copper trace. if the nnvcfg1. enmtl bit is set, cgtempco restores from ntcurve (1c9h) after the ics reset to allow a custom-sense resistor tem - perature coefficient to be used. note that nnvcfg1.encrv and nnvcfg2.enmet cannot be enabled simultaneously. figure 53. maxmincurr (01ch)/nmaxmincurr (1abh) format figure 54. ncgain register (1c8h) format maxim integrated 73 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 maxcurrent mincurrent d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 ncgain ncof f www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
copper trace current sensing the max1720x/1x has the ability to measure current using a copper board trace instead of a traditional sense resistor. the main difference being the ability to adjust to the change in sense resistance over temperature. to enable copper trace current sensing, set the follow - ing configuration bits: nnvcfg1.encrv=0 and nnvcfg2. enmet=1. the ic's default temperature adjustment is 0.4% per c, but can be adjusted using the ntcurve reg - ister if nnvcfg1.enmtl=1. note that copper trace current sensing cannot be enabled at the same time as thermistor curve adjustment. for 1-ounce copper, a length to width ratio of 6:1 will create a 0.0035 sense resistor which is suitable for most applications. table 13 summarizes the ic setting for copper trace sensing. temperature measurement the ic can be configured to measure its own internal die temperature and up to two external ntc thermistors. in addition the ic can be configured to use any single input or an average of both thermistors as the temperature input to the fuel gauge calculations. see the npackcfg register for details. thermistor conversions are initiated by connecting the thrm and reg3 pins internally. this enables the active pullup to the external voltage-divider network. after the pullup is enabled, the ic waits for a settling period of t pre prior to making measurements on the ain1 or ain2 pins. measurement results are compared to the voltage of the thrm pin and converted to a ratiometric value from 0 to 100%. the active pullup is disabled when temperature measurements are complete. this feature limits the time the external resistor-divider network is active and lowers the total amount of energy used by the system. the ratiometric results are converted to temperature using the temperature gain (tgain), temperature offset (toff), and temperature curve (ntcurve) register values each time the ain1 and ain2 pins are measured. internal die temperature measurements are factory calibrated and are not affected by tgain, toff, ntcurve register settings. additionally the ic maintains a record of the minimum and maximum temperature measured, and an average tem - perature over a time period defined by the host. temperature measurement timing temperature measurement channels are individually enabled using the npackcfg register. adc measurement order and firmware post processing determine when a valid reading will become available to the user. in addi - tion, not all channels are measured each time through the firmware task loop. selection options for enabled chan - nels creates a large number of possible timing options. table 14 shows the timing for all temperature measure - ments made by the ic for some typical pack configura - tions. all times in this table are considered typical. table 13. copper trace sensing parameter setting result nnvcfg1.encrv 0 thermistor curve compensation disabled nnvcfg1.enmet 1 sense resistor temperature compensation enabled nnvcfg2.enmlt 0 sense resistor temperature compensa - tion set to default of 0.4% per c (typical copper). nrense 0x012c sense resistor indicator to host software set to 0.0035 as demonstrated on the evaluation kit hardware. r sense size 6:1 a 6:1 length to width ratio of 1oz copper gives a resistance of 0.0035. maxim integrated 74 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
temp register (008h) register type: temperature nonvolatile backup: none the temp register value is selected from temp1, temp2, inttemp, or alternating between temp1 and temp2 regis - ters as determined by the npackcfg register setting. the temp register is the input to the fuel gauge algorithm. contents of temp are indeterminate for the first conver - sion cycle time period after ic power-up. avgta register (016h) register type: temperature nonvolatile backup: none the avgta register reports an average of the readings from the temp register. averaging period is configurable from 6 minutes up to 12 hours as set by the filtercfg register. the first temp register reading after returning to active mode sets the starting point of the averaging filters. table 14. temperature measurement timing application n p ack c fg setting register first update after reset ( ms) * update rate in active mode** ( ms) update rate in hibernate mode*** (s) temperatures die temperature only npackcfg.tden = 1 npackcfg.a1en = 0 npackcfg.a2en = 0 npackcfg.fgt = 0 temp, inttemp, avginttemp 550 703 5.625 avgta 351 single thermistor only npackcfg.tden = 0 npackcfg.a1en = 1 npackcfg.a2en = 0 npackcfg.fgt = 0 temp, temp1, avgtemp1 550 703 5.625 avgta 351 die temperature and single thermistor, fuel gauge thermistor 1 npackcfg.tden = 1 npackcfg.a1en = 1 npackcfg.a2en = 0 npackcfg.fgt = 0 inttemp, temp1, temp, inttemp, temp1, temp, avginttemp, avgtemp1 550 1406 11.25 avgta 351 5.625 all channels active, fuel gauge thermistor 1 npackcfg.tden = 1 npackcfg.a1en = 1 npackcfg.a2en = 1 npackcfg.fgt = 1 inttemp, temp1, temp2, temp, avginttemp, avgtemp1,avgtemp2 550 2109 16.875 avgta 351 5.625 all channels active, average of both thermistors for fuel gauging npackcfg.tden = 1 npackcfg.a1en = 1 npackcfg.a2en = 1 npackcfg.fgt = 0 temp 550 twice in 2109**** twice in 16.875**** inttemp, temp1, temp2, avginttemp, avgtemp1,avgtemp2 2109 16.875 avgta 351 5.625 *all enabled registers are initialized using the first temperature reading the ic makes even if it is from a different temperature input. **not all registers update at the same time. updates are staggered to one channel per task period. update order is inttemp, temp1, temp2. ***hibernate mode update times assume the default hibcfg.hibscalar setting of 16 task periods. ****update interval in active mode alternates between 703ms and 1406ms. update interval in hibernate mode alternates between 5.625s and 11.25s maxim integrated 75 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
maxmintemp register (01ah) register type: special nonvolatile backup: periodically saves to nmaxmintemp (1adh) if nnvcfg2.enmmt is set, but does not restore from nonvolatile memory. alternate initial value: 0x807f the maxmintemp register maintains the maximum and minimum temp register (008h) values since the last fuel- gauge reset or until cleared by host software. each time the temp register updates, it is compared against these values. if the reading is larger than the maximum or less than the minimum, the corresponding values are replaced with the new reading. at power-up, the maximum value is set to 80h (minimum) and the minimum value is set to 7fh (maximum). therefore, both values are changed to the temp register reading after the first update. host software can reset this register by writing it to its power-up value of 0x807f. the maximum and minimum temperatures are each stored as twos complement 8-bit values with 1c resolution. figure 55 shows the format of the register. maxtemperature: maximum temp register reading (1oc resolution) mintemperature: minimum temp register reading (1oc resolution) maxmintemp is not cumulative across the entire battery lifetime. after each periodic nonvolatile memory save, maxmintemp resets to 0x807f to find the next maximum and minimum temperatures across the next segment of battery life. this behavior helps provide a useful log across the battery lifetime where each log segment shows the maximum and minimum temperature experienced across only that segment. ntcurve register (1c9h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register if nnvcfg1.encrv = 1 and nnvcfg2.enmet = 0 then ntcurve applies thermistor measurement curvature cor - rection to allow thermistor measurements to be accurate over a wider temperature range. a 3c accuracy can be achieved over a -40c to 85c operating range. see table 15 for recommended ntcurve values. if nnvcfg1. encrv = 0 and nnvcfg2.enmet = 0 this location can be used to general purpose data storage. ntgain (1cah) register/ntoff (1cbh) register register type: special nonvolatile restore: tgain (02ch) and toff (02dh) if nnvcfg1.entgo is set alternate initial value: tgain = 0xee56 and toff = 0x1da4 (associated with ntcurve = 0x0025) external ntc thermistors generate a temperature related voltage to be measured by the ain1 and ain2 inputs. see the typical operating circuits for examples of thermistor circuits. the ntgain, ntoff, and ntcurve registers are used to calculate temperature from the measurement of the ain1 and ain2 pins with an accuracy of +/-3c over a range of -40c to 85c. table 15 lists the recommended ntgain, ntoff, and ntcurve register values for common ntc thermistors. table 15. register settings for common thermistor types thermistor r25c (k) beta recommended ntgain recommended ntoff recommended ntcurve murata ncp15xh103f03rc 10 3435 0xee56 0x1da4 0x0025 fenwal 197-103lag-a01 10 3974 0xf49a 0x16a1 0x0064 tdk type f 10 4550 0xf284 0x18e8 0x0035 figure 55. maxmintemp (01ah)/nmaxmintemp (1adh) format maxim integrated 76 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 maxt emperature mint emperature www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
temp1 (134h)/temp2 (13bh)/inttemp (135h) registers register type: temperature nonvolatile backup: none if enabled in the npackcfg register, the temp1, temp2, and inttemp registers contain the temperature readings from the ain1 thermistor, ain2 thermistor, and internal die temperature respectively. contents of each register are indeterminate for the first conversion cycle time period after ic power-up. these registers display temperature in degrees celsius starting at absolute zero, -273oc or 0ok with an lsb of 0.1oc. avgtemp1 (137h)/avgtemp2 (139h)/avginttemp (138h) registers register type: temperature nonvolatile backup: none the avgtemp1, avgtemp2, and avginttemp registers report a 4-sample filtered average of the corresponding temp1, temp2, and inttemp registers respectively. the first of each temperature register reading after startup sets the starting point of the averaging filters. these reg - isters display temperature in degrees celsius starting at absolute zero, -273oc or 0ok with an lsb of 0.1oc. ain0 register (027h) register type: special nonvolatile backup: none external temperature measurements on the ain1 and ain2 pins are compared to the thrm pin voltage. the ic stores the result as a ratio-metric value from 0% to 100% in the ain0 register with an lsb of 0.0122%. the ntgain, ntoff, and ntcurve register values are then applied to this ratio-metric reading to convert the result to tem - perature. the value stored in the ain0 register alternates between measurements made on the ain1 and ain2 pins during operation. at-rate functionality the atrate function allows host software to see theoreti - cal remaining time or capacity for any given load current. atrate can be used for power management by limiting system loads depending on present conditions of the cell pack. whenever the atrate register is programmed to a negative value indicating a hypothetical discharge current the atqresidual, attte, atavsoc, and atavcap regis - ters display theoretical residual capacity, time to empty, state of charge, and available capacity respectively. host software should wait two full task periods (703ms minimum in active mode) after writing the atrate register before reading any of the result registers. atrate register (004h) register type: current nonvolatile backup: none host software should write the atrate register with a neg - ative twos-complement 16-bit value of a theoretical load current prior to reading any of the at-rate output registers. atqresidual register (0dch) register type: capacity nonvolatile backup: none the atqresidual register displays the residual charge held by the cell at the theoretical load current level entered into the atrate register. attte register (0ddh) register type: time nonvolatile backup: none the attte register can be used to estimate time to empty for any theoretical current load entered into the atrate register. the attte register displays the estimated time to empty for the application by dividing atavcap by the atrate register value. atavsoc register (0ceh) register type: percentage nonvolatile backup: none the atavsoc register holds the theoretical state of charge of the cell based on the theoretical current load of the atrate register. the register value is stored as a percentage with a resolution of 0.0039% per lsb. if a 1% resolution state-of-charge value is desired, the host can read only the upper byte of the register instead. atavcap register (0dfh) register type: capacity nonvolatile backup: none the atavcap register holds the estimated remaining capacity of the cell based on the theoretical load current value of the atrate register. the value is stored in terms of vh and must be divided by the application sense-resistor value to determine the remaining capacity in mah. maxim integrated 77 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
overcurrent comparators the max1720x/1x contains two programmable fast over- current comparators called od and sc that allow spikes in system current to be detected. both comparators have programmable threshold levels and programmable de- bounced delays. they can be enabled independently of each other and can be enabled to give over-current indi - cation on the alrt1 pin. see figure 56 . the od comparator threshold can be programmed from 0mv to -155mv with 5mv resolution (0 to -15.5a with 0.5a resolution using 10m sense resistor), and has a programmable delay from 0 to 14.6ms with 0.97ms reso - lution. the sc comparator threshold can be programmed from 0mv to -310mv with 10mv resolution (0 to -31a with 1a resolution using 10m sense resistor), and has a pro - grammable delay from 0 to 915s with a 61s resolution. either comparator can be configured for zero delay (2s typical propagation) that results in a nonlatching behavior on the alrt1 pin. the odscth register sets the threshold levels where each comparator will trip. the odsccfg register enables each comparator and sets their debounce delays. the odsccfg register also maintains indicator flags of which comparator has been tripped. these register settings are maintained in nonvolatile memory if the nnvcfg1. enodsc bit is set. nodscth register (18eh) register type: special nonvolatile restore: odscth (0f2h) if nnvcfg1.enod - sc is set alternate initial value: 0x0000 the nodscth register sets the current thresholds for each alert. bits d4 through d0 set the odth (over- discharge threshold), and d12 to d8 set the scth (short- circuit threshold). the format of the registers is shown in figure 57 . scth: short-circuit threshold setting. sets the short cir - cuit threshold to a value between 0mv and -155mv with a step size of -5mv. the scth bits are stored as a 2s-com - plement value with 0x1f = 0mv and 0x00 = -155mv. odth: over-discharge threshold setting. sets the over- discharge threshold to a value between 0mv and -77.5mv with a step size of -2.5mv. the odth bits are stored as a 2s-complement value with 0x1f = 0mv and 0x00 = -77.5mv. figure 56. overcurrent comparator diagram figure 57. odscth register (0f2h) and nodscth register (18eh) formats maxim integrated 78 odi + - - r sense csp csn odth sci + - scth scdly oddly odscc fg d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 x x x scth x x x odth x: don?t care. www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nodsccfg register (18fh) register type: special nonvolatile restore: odsccfg (0f3h) if nnvcfg1.enod - sc is set. alternate initial value: 0x0000 the nodsccfg register configures enabling of the over discharge and short circuit alerts, as well as setting their latching and delay behavior. the alert indicators are also displayed and cleared in this register. the format of the register is shown in figure 58 . scdly: sets the latching and delay for the short circuit detection from 2s up to 917s. if this field set to 0, the alert will happen typically 2s after the threshold is tripped with no latching. any non zero setting causes the indicator to latch after a delay of 2s + 61s x scdly. scen : short circuit alert enable. set to 1 to enable alerts when the scth value is exceeded. sci: short circuit indicator. this bit is set to 1 to indicate the short-circuit threshold was detected. write to zero to clear this bit if scdly is not 0. if scdly is 0, the alert clears automatically when the alert condition is removed. oddly : sets the latching and delay for the over discharge detection from 2s up to 14.657ms. if this field is set to 0, the alert will happen typically 2s after the threshold is tripped with no latching. any non zero setting causes the indicator to latch after a delay of 2s + 977s x oddly. oden : over discharge alert enable. set to 1 to enable alerts when the odth value is exceeded. od i : over discharge indicator. this bit is set to 1 to indicate the over-discharge threshold was detected. write to zero to clear this bit if oddly is not 0. if oddly is 0, the alert clears automatically when the alert condition is removed. alert function the alert threshold registers allow interrupts to be gener - ated by detecting a high or low voltage, current, tempera - ture, or state of charge. interrupts are generated on the alrt1 pin open-drain output driver. an external pullup is required to generate a logic-high signal. note that if the pin is configured to be logic-low when inactive, the exter - nal pullup increases current drain. the alrtp bit in the config register sets the polarity of the alrt1 pin output. alerts can be triggered by any of the following conditions: ? battery removal(v ain1 > v thrm - v det ) and battery removal detection enabled (ber = 1). ? battery insertion(v ain1 < v thrm - v det-hys ) and battery insertion detection enabled (bei = 1). ? over/undervoltagevalrttr register threshold violation (upper or lower) and alerts enabled (aen = 1). ? over/undertemperaturetalrttr register threshold vio - lation (upper or lower) and alerts enabled (aen = 1). ? over/undercurrentialrttr register threshold violation (upper or lower) and alerts enabled (aen = 1). ? over/under socsalrttr register threshold violation (upper or lower) and alerts enabled (aen = 1). to prevent false interrupts, the threshold registers should be initialized before setting the aen bit. alerts generated by battery insertion or removal can only be reset by clear - ing the corresponding bit in the status (000h) register. alerts generated by a threshold-level violation can be configured to be cleared only by software, or cleared automatically when the threshold level is no longer violat - ed. see the config (01dh) register description for details of the alert function configuration. figure 58. odsccfg register (0f3h) and nodsccfg register (18fh) formats maxim integrated 79 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 sci scen x x scdl y odi oden x x oddl y x: don?t care. www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nvalrtth register (1c0h) register type: special nonvolatile restore: valrtth (001h) if nnvcfg1.enat is set. alternate initial value: 0xff00 (disabled) the nvalrtth register shown in figure 59 sets upper and lower limits that generate an alrt1 pin interrupt if exceeded by the vcell register value. the upper 8 bits set the maximum value and the lower 8 bits set the mini - mum value. interrupt threshold limits are selectable with 20mv resolution over the full operating range of the vcell register. at power-up, the thresholds default to their maxi - mum settings unless they are configured to be restored from nonvolatile memory instead by setting the nnvcfg1. enat bit. vmax: maximum voltage threshold. an alert is generated if the vcell register reading exceeds this value. this field has 20mv lsb resolution. vmin: minimum voltage threshold. an alert is generated if the vcell register reading falls below this value. this field has 20mv lsb resolution. ntalrtth register (1c1h) register type: special nonvolatile restore: talrtth (002h) if nnvcfg1.enat is set alternate initial value: 0x7f80 (disabled) the ntalrtth register shown in figure 60 sets upper and lower limits that generate an alrt1 pin interrupt if exceeded by the temp register value. the upper 8 bits set the maximum value and the lower 8 bits set the minimum value. interrupt threshold limits are stored in 2s-complement format with 1oc resolution over the full operating range of the temp register. at power-up, the thresholds default to their maximum settings unless they are configured to be restored from nonvolatile memory instead by setting the nnvcfg1.enat bit. tmax: maximum temperature threshold. an alert is gen - erated if the temp register reading exceeds this value. this field is signed 2's complement format with 1c lsb resolution. tmin: minimum temperature threshold. an alert is gener - ated if the temp register reading falls below this value. this field is signed 2's complement format with 1c lsb resolution. nsalrtth register (1c2h) register type: special nonvolatile restore: salrtth (003h) if nnvcfg1.enat is set. alternate initial value: 0xff00 (disabled) the nsalrtth register shown in figure 61 sets upper and lower limits that generate an alrt1 pin interrupt if exceeded by the selected repsoc, avsoc, mixsoc, or vfsoc register values. see the misccfg.sacfg setting for details.the upper 8 bits set the maximum value and the lower 8 bits set the minimum value. interrupt threshold limits are selectable with 1% resolution over the full oper - ating range of the selected soc register. at power-up, the thresholds default to their maximum settings unless they are configured to be restored from nonvolatile memory instead by setting the nnvcfg1.enat bit. smax: maximum state of charge threshold. an alert is generated if the selected soc register reading exceeds this value. this field has 1% lsb resolution. smin: minimum state of charge threshold. an alert is gen - erated if the selected soc register reading falls below this value. this field has 1% lsb resolution. figure 59. valrtth (001h)/nvalrtth (1c0h) format figure 60. talrtth (002h)/ntalrtth (1c1h) format figure 61. salrtth (003h)/nsalrtth (1c2h) format maxim integrated 80 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 vmax vmin d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 tmax tmin d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 smax smin www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nialrtth register (1c3h) register type: special nonvolatile restore: ialrtth (0b4h) if nnvcfg1.enat is set. alternate initial value: 0x7f80 (disabled) the nialrtth register shown in figure 62 sets upper and lower limits that generate an alrt1 pin interrupt if exceeded by the current register value. the upper 8 bits set the maximum value and the lower 8 bits set the minimum vaue. interrupt threshold limits are selectable with 400v resolution over the full operating range of the current register. at power-up, the thresholds default to their maximum settings unless they are configured to be restored from nonvolatile memory instead by setting the nnvcfg1.enat bit. imax: maximum current threshold. an alert is generated if the current register reading exceeds this value. this field is signed 2's complement with 400v lsb resolution to match the upper byte of the current register. imin: maximum current threshold. an alert is generated if the current register reading falls below this value. this field is signed 2's complement with 400v lsb resolution to match the upper byte of the current register. memory the memory space of the max1720x/1x is divided into 32 pages each containing 16 registers where each register is 16 bits wide. registers are addressed using an inter - nal 9bit range of 000h to 1ffh. externally registers are accessed with an 8-bit address for 2-wire communication (max1720x) or 16-bit address for 1-wire communica - tion (max1721x). registers are grouped by functional block. see the functional descriptions for details of each register's functionality. certain memory blocks can be permanently locked to prevent accidental overwrite. see the locking memory blocks section for details. table 16 shows the full memory map of the ics. note that some individual user registers are located on reserved mem - ory pages in table 17 . these locations can be accessed normally while the remainder of the page is considered reserved. memory locations listed as reserved should never be written to. data read from reserved locations is not defined. table 16. top-level memory map register page lock description max1720x max1721x 2-wire slave address 2-wire protocol 2-wire external address range 1-wire external address range 00h modelgauge m5 data block 6ch i 2 c 00hC4fh 0000hC004fh 01hC04h lock2 05hC0ah reserved 0bh lock2 modelgauge m5 data block (continued) 6ch i 2 c b0hCbfh 00b0hC00bfh 0ch sha sha memory 6ch i 2 c c0hCcfh 00c0hC00cfh 0dh lock2 modelgauge m5 data block (continued) 6ch i 2 c d0hCdfh 00d0hC00dfh 0ehC0fh reserved 10hC17h sbs data block 16h sbs 00hC7fh 18hC19h lock3 n onvolatile memory 16h i 2 c 80hCdfh 0180h-01dfh 1ahC1bh lock1 1ch lock4 1dh lock5 1eh nonvolatile history 16h i 2 c e0hCefh 01e0h-01efh 1fh reserved figure 62. ialrtth (0b4h)/nialrtth (1c3h) format maxim integrated 81 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 imax imin www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
modelgauge m5 memory space registers that relate to functionality of the modelgauge m5 fuel gauge are located on pages 00h-04h and are continued on pages 0bh and 0dh. see the modelgauge m5 algorithm section for details of specific register operation. these locations (other than page 00h) can be permanently locked by setting lock2. unnamed register locations are reserved locations and should not be written to. see table 18 . table 17. individual registers register page description max1720x max1721x 2-wire slave address 2-wire protocol 2-wire external address range 1-wire exter - nal address range 060h command register 6ch i 2 c 60h 0060h 061h commstat register 6ch i 2 c 61h 0061h 07fh lock register 6ch i 2 c 7fh 007fh 0f2h odscth register 6ch i 2 c f2h 00f2h 0f3h odsccfg register 6ch i 2 c f3h 00f3h 0fbh modelgauge m5 register vfocv 6ch i 2 c fbh 00fbh 0ffh modelgauge m5 register vfsoc 6ch i 2 c ffh 00ffh table 18. modelgauge m5 register memory map word 00 xh 01 xh 02 xh 03 xh 04 xh 0b xh 0d xh 0h status fullcap ttf status2 1h valrtth tte devname avgcell4 2h talrtth qrtable00 qrtable10 qrtable20 qrtable30 avgcell3 3h salrtth fullsocthr fullcapnom avgcell2 4h atrate rcellrcell ialrtth avgcell1 5h repcap rfast fullcaprep dqacc cell4 6h repsoc avgta iavgempty dpacc cell3 7h age cycles ain0 cell2 8h temp designcap learncfg rcomp0 vshdncfg cell1 9h vcell avgvcell filtercfg tempco ageforecast cellx ah current maxmintemp relaxcfg vempty vfremcap hibcfg batt bh avgcurrent maxminvolt misccfg confg2 ch qresidual maxmincurr tgain vripple atqresidual dh mixsoc confg toff fstat qh packcfg attte eh avsoc ichgterm cgain timer timerh atavsoc fh mixcap avcap coff shdntimer atavcap maxim integrated 82 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nonvolatile memory certain modelgauge m5 and device configuration values are stored in nonvolatile memory to prevent data loss if the ics lose power. the max1720x/max1721x internally update page 1ah values over time based on actual perfor - mance of the modelgauge m5 algorithm. the host system does not need to access this memory space during operation. nonvolatile data from other accessible register locations is internally mirrored into the nonvolatile memory block automatically. note that nonvolatile memory has a limited number of writes. user accessible configuration memory is limited to 7 writes. internal and external updates to page 1ah as the fuel gauge algorithm learns is limited to 202 writes. do not exceed these write limits. table 19 shows the nonvolatile memory register map. shadow ram nonvolatile memory is never written to or read from direct - ly by the communication interface. instead, data is written to or read from shadow ram memory located at the same address. copy and recall commands are used to transfer data between the nonvolatile memory and the shadow ram. figure 63 describes this relationship. nonvolatile memory recall occurs automatically at ic power up and software por. table 19. nonvolatile register memory map word 18 xh 19 xh 1a xh * 1b xh 1c xh 1d xh 0h nxtable0 nocvtable0 nqrtable00 nconfg nvalrtth nuser1d0 1h nxtable1 nocvtable1 nqrtable10 nripplecfg ntalrtth nuser1d1 2h nxtable2 nocvtable2 nqrtable20 nmisccfg nsalrtth nagefccfg 3h nxtable3 nocvtable3 nqrtable30 ndesigncap nialrtth ndesignvoltage 4h nxtable4 nocvtable4 ncycles nhibcfg nuser1c4 nuser1d4 5h nxtable5 nocvtable5 nfullcapnom npackcfg nuser1c5 nrfastvshdn 6h nxtable6 nocvtable6 nrcomp0 nrelaxcfg nfullsocthr nmanfctrdate 7h nxtable7 nocvtable7 ntempco nconvgcfg nttfcfg nfirstused 8h nxtable8 nocvtable8 niavgempty nnvcfg0 ncgain nserialnumber0 9h nxtable9 nocvtable9 nfullcaprep nnvcfg1 ntcurve nserialnumber1 ah nxtable10 nocvtable10 nvolttemp nnvcfg2 ntgain nserialnumber2 bh nxtable11 nocvtable11 nmaxmincurr nsbscfg ntoff ndevicename0 ch nuser18c nichgterm nmaxminvolt nromid0 ** nmanfctrname0 ndevicename1 dh nuser18d nfiltercfg nmaxmintemp nromid1 ** nmanfctrname1 ndevicename2 eh nodscth nvempty nsoc nromid2 ** nmanfctrname2 ndevicename3 fh nodsccfg nlearncfg ntimerh nromid3** nrsense ndevicename4 *locations 1a0h to 1afh are updated automatically by the ics each time it learns. **the rom id is unique to each ic and cannot be changed by the user. maxim integrated 83 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nonvolatile memory commands the following commands are used to copy or recall data from the nonvolatile memory. all commands are written to the command register at memory address 060h to per - form the desired operation. the commstat register can be used to track the status of the request. copy nv block [e904h] this command copies the entire block from shadow ram to nonvolatile memory addresses 180h to 1dfh excluding the unique id locations of 1bch to 1bfh. after issuing this command, the host must wait t block for the operation to complete. the configuration memory can be copied a maximum of 7 times. note that the supply voltage must be above v nvm for the operation to complete successfully. nv recall [e001h] this command recalls the entire block from nonvolatile memory to shadow ram addresses 180h to 1dfh. this is an low power operation that will take up to t recall to complete. note that the supply voltage must be above v nvm for the operation to complete successfully. history recall [e2xxh] this command copies history data into page 1eh of memory. after issuing this command, the host must wait t recall for the operation to complete before reading page 1eh. table 20 shows what history information can be recalled. see the sha-256 authentication , battery life logging , and memory sections for details on how to decode this information. table 20. history recall command functions command function 0xe2fe recall indicator fags to determine remaining sha-256 secret updates or clears 0xe2fa recall indicator fags to determine remaining confguration memory writes 0xe2fb, 0xe2fc recall indicator fags to determine remaining battery life logging updates 0xe2fbC0xe2fe recall indicator fags to determine battery life logging update errors 0xe226C0xe2f0 recall battery life logging information figure 63. shadow ram and nonvolatile memory relationship maxim integrated 84 0180h shadow ram 01dfh 0180h nonvolatile memory 01dfh data write data read communication interface copy nv block nv recall www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
nonvolatile block programming the host must program all nonvolatile memory locations at the same time by using the copy nv block command. the host first writes all desired nonvolatile memory shadow ram locations to their desired values, then sends the copy nv block command, and then waits t block for the copy to complete. the commstat.nverror bit should be read to determine if the copy command executed suc - cessfully. afterwards the host should send the power on reset sequence to reset the ic and have the new nonvola - tile settings take effect. note that configuration memory is limited to n block total write attempts. the recommended full sequence is: 1. write desired memory locations to new values. 2. clear commstat.nverror bit. 3. write 0xe904 to the command register 0x060 to initiate a block copy. 4. wait t block for the copy to complete. 5. check the commstat.nverror bit. if set, repeat the process. if clear, continue. 6. write 0x000f to the command register 0x060 to por the ic. 7. wait t por for the ic to reset. 8. write 0x0001 to counter register 0x0bb to reset firmware. 9. wait t por for the firmware to restart. determining the number of remaining updates the configuration memory can only be updated 7 times by the user (first update occurs during manufacturing test). the number of remaining updates can be calculated using the following procedure: 1. write 0xe2fa to the command register (060h). 2. wait t recall . 3. read memory address 1edh. 4. decode address 1edh data as shown in table 21 . each block write has redundant indicator flags for reliabil - ity. logically or the upper and lower bytes together then count the number of 1s determine how many updates have already been used. the first update occurs in manu - facturing test prior to shipping to the user. general-purpose memory there are 7 nonvolatile memory words labelled nuser that are dedicated to general purpose user data storage. most other nonvolatile memory locations could also be used as general purpose storage if their normal func - tion is disabled. the nnvcfg0, nnvcfg1, and nnvcfg2 registers control which nonvolatile memory functions are enabled and disabled. table 22 shows which nnvcfg bits control different ic functions and the effects when the bit is set or cleared. see the nnvcfg register descriptions for complete details. do not convert a nonvolatile register to general purpose memory space if that register's function is used by the application. table 21. number of remaining config memory updates address 1ed h data logical or of upper and lower bytes number of updates used number of updates remaining 000000010000000xb 00000001b 1 7 0000001x000000xxb 00000011b 2 6 000001xx00000xxxb 00000111b 3 5 00001xxx0000xxxxb 00001111b 4 4 0001xxxx000xxxxxb 00011111b 5 3 001xxxxx00xxxxxxb 00111111b 6 2 01xxxxxx0xxxxxxxb 01111111b 7 1 1xxxxxxxxxxxxxxxb 11111111b 8 0 maxim integrated 85 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
table 22. nonvolatile memory configuration options address register name factory default control bit(s) function when control bit is set function when control bit(s) cleared 180h nxtable0 0x0000 nnvcfg0.enx 180hC18bh hold custom cell model information ic uses default cell model, 180hC18bh become free user memory 181h nxtable1 0x0000 182h nxtable2 0x0000 183h nxtable3 0x0000 184h nxtable4 0x0000 185h nxtable5 0x0000 186h nxtable6 0x0000 187h nxtable7 0x0000 188h nxtable8 0x0000 189h nxtable9 0x0000 18ah nxtablea 0x0000 18bh nxtableb 0x0000 18ch nuser18c 0x0000 n/a always free user memory 18dh nuser18d 0x0000 18eh nodscth 0x0000 nnvcfg1 enodsc nodsccfgodsccfg overcurrent comparators default disabled, 18eh-18fh become free user memory 18fh nodsccfg 0x0000 190h nocvtable0 0x0000 nnvcfg0.enocv 190hC19bh hold custom cell model information ic uses default cell model, 190hC19bh become free user memory 191h nocvtable1 0x0000 192h nocvtable2 0x0000 193h nocvtable3 0x0000 194h nocvtable4 0x0000 195h nocvtable5 0x0000 196h nocvtable6 0x0000 197h nocvtable7 0x0000 198h nocvtable8 0x0000 199h nocvtable9 0x0000 19ah nocvtablea 0x0000 19bh nocvtableb 0x0000 19ch nichgterm 0x0000 nnvcfg0.enict nichgtermichgterm ichgterm = fullcaprep/3, 19ch becomes free user memory 19dh nfiltercfg 0x0000 nnvcfg0.enfcfg nfiltercfgfiltercfg filtercfg = 0x0ea4, 19dh becomes free user memory 19eh nvempty 0x0000 nnvcfg0.enve nvemptyvempty vempty = 0xa561, 19eh becomes free user memory 19fh nlearncfg 0x2602 nnvcfg0.enlcfg nlearncfglearncfg learncfg=0x2603, 19fh becomes free user memory maxim integrated 86 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
table 22. nonvolatile memory configuration options (continued) address register name factory default control bit(s) function when control bit is set function when control bit(s) cleared 1a0h nqrtable00 0x3c00 n/a nqrtable30qrtable30 1a1h nqrtable10 0x1b80 1a2h nqrtable20 0x0b04 1a3h nqrtable30 0x0885 1a4h ncycles 0x0000 always ncyclescycles 1a5h nfullcapnom 0x0bb8 always nfullcapnomfullcapnom 1a6h nrcomp0 0x1070 always nrcomp0rcomp0 1a7h ntempco 0x263d always ntempcotempco 1a8h niavgempty 0x0000 nnvcfg2.eniavg niavgemptyiavgempty iavgempty = -1 x nfullcap - nom, 1a8h becomes free user memory 1a9h nfullcaprep 0x0bb8 nnvcfg2.enfc nfullcaprepfullcaprep nfullcapnomfullcaprep, 1a9h becomes free user memory 1aah nvolttemp 0x0000 (nnvcfg0.enaf = 0) avgvcellnvolttemp and avgtanvolttemp at each backup event voltage and temperature logging disabled, 1aah becomes free user memory (nnvcfg2.envt = 0) nvolttemp stores age forecasting learned information age forecasting disabled, 1aah becomes free user memory 1abh nmaxmincurr 0x807f nnvcfg2.enmmc maxmincurrnmaxmincurr at each backup event 1abh becomes free user memory 1ach nmaxminvolt 0x00ff nnvcfg2.enmmv maxminvoltnmaxminvolt at each backup event 1ach becomes free user memory 1adh nmaxmintemp 0x807f nnvcfg2.enmmt maxmintempnmaxmintemp at each backup event 1adh becomes free user memory 1aeh nsoc 0x0000 nnvcfg2.ensoc (nnvcfg0.enaf=0) socnsoc at each backup event 1aeh becomes free user memory (nnvcfg2.ensoc = 0) nsoc stores age forecasting backup information age forecasting disabled, 1aeh becomes free user memory 1afh ntimerh 0x0000 nnvcfg2.ent timerhntimerh at each backup event 1afh becomes free user memory 1b0h nconfg 0x0000 nnvcfg0.encfg nconfgconfg2 confg = 0x2214, confg2 = 0x0050, 1b0h becomes free user memory 1b1h nripplecfg 0x0204 n/a always nripplecfgripplecfg 1b2h nmisccfg 0x0000 nnvcfg0.enmc nmisccfgmisccfg misccfg = 0x3870, 1b2h becomes free user memory 1b3h ndesigncap 0x0000 nnvcfg0.endc ndesigncapdesigncap fullcaprepdesigncap, 1b3h becomes free user memory maxim integrated 87 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
table 22. nonvolatile memory configuration options (continued) address register name factory default control bit(s) function when control bit is set function when control bit(s) cleared 1b4h nhibcfg 0x0000 nnvcfg0.enhcfg nhibcfghibcfg hibcfg = 0x890b, 1b4h becomes free user memory 1b5h npackcfg 0x0c01 for max172x1 0x0a02 for max172x5 n/a always npackcfgpackcfg 1b6h nrelaxcfg 0x0000 nnvcfg0.enrcfg nrelaxcfgrelaxcfg relaxcfg=0x2039, 1b6h becomes free user memory 1b7h nconvgcfg 0x2241 nnvcfg1.encte converge-to-empty enabled converge-to-empty disabled, 1b7h becomes free user memory 1b8h nnvcfg0 0x0100 n/a always the nonvolatile memory control registers 1b9h nnvcfg1 0x0006 1bah nnvcfg2 0xff0a 1bbh nsbscfg 0x0002 nnvcfg0.ensbs sbs functions enabled sbs functions disabled, 1bbh becomes free user memory 1bch nromid0 varies n/a always the unique 64-bit id 1bdh nromid1 varies 1beh nromid2 varies 1bfh nromid3 varies 1c0h nvalrtth 0x0000 nnvcfg1.enat nvalrtthvalrtth valrtth = 0xff00, 1c0h becomes free user memory 1c1h ntalrtth 0x0000 ntalrtthtalrtth talrtth = 0x7f80, 1c1h becomes free user memory 1c2h nsalrtth 0x0000 nsalrtthsalrtth salrtth = 0xff00, 1c2h becomes free user memory 1c3h nialrtth 0x0000 nialrtthialrtth ialrtth = 0x7f80, 1c3h becomes free user memory 1c4h nuser1c4 0x0000 n/a always free user memory 1c5h nuser1c5 0x0000 1c6h nfullsocthr 0x0000 nnvcfg1.enfth nfullsocthrfullsocthr fullsocthr = 0x5005, 1c6h becomes free user memory 1c7h nttfcfg 0x0000 nnvcfg1.enttf nttfcfg confgures time to full calcu - lation time-to-full default confguration, 1c7h becomes free user memory 1c8h ncgain 0x0000 nnvcfg1.encg ncgain.ncgaincgainncgain. ncoffcoff cgain = 0x0400, coff = 0x0000, 1c8h becomes free user memory 1c9h ntcurve 0x0025 (nnvcfg1.encrv = 0) ntcurvecgtempco cgtempco = 0x20c8, 1c9h becomes free user memory (nnvcfg2.enmet = 0) thermistor curvature controlled by ntcurve 1c9h becomes free user memory maxim integrated 88 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
table 22. nonvolatile memory configuration options (continued) address register name factory default control bit(s) function when control bit is set function when control bit(s) cleared 1cah ntgain 0x0000 nnvcfg1.entgo ntgaintgain tgain = 0xee56, 1cah becomes free user memory 1cbh ntoff 0x0000 ntofftoff toff = 0x1da4, 1cbh becomes free user memory 1cch nmanfctrname0 0x0000 nnvcfg0.ensbs nmanfctrname[2:0]smanfctrname 1cch-1cefh become free user memory 1cdh nmanfctrname1 0x0000 1ceh nmanfctrname2 0x0000 1cfh nrsense 0x03e8 n/a always sense resistor value 1d0h nuser1d0 0x0000 n/a always free user memory 1d1h nuser1d1 0x0000 1d2h nagefccfg 0xd5e3 nnvcfg0.enaf confgures age forecast feature 1d2h becomes free user memory 1d3h ndesignvoltage 0x0000 nnvcfg0.ensbs ndesignvoltagesdesignvolt 1d3h becomes free user memory 1d4h nuser1d4 0x0000 n/a always free user memory 1d5h nrfastvshdn 0x0000 nnvcfg1.enrfvsh nrfastvshdn. rfastrfastnrfastvshdn. vshdnvshdncfg vshdncfg = 0x007d, rfast = 0x0500, 1d5h becomes free user memory 1d6h nmanfctrdate 0x0000 nnvcfg0.ensbs nmanfctrdatesmanfctrdate 1d6h becomes free user memory 1d7h nfirstused 0x0000 nfirstusedsfirstused 1d7h becomes free user memory 1d8h nserialnumber0 0x0000 nserialnumber[2:0]sserialnumber 1d8h-1dafh become free user memory 1d9h nserialnumber1 0x0000 1dah nserialnumber2 0x0000 1dbh ndevicename0 0x0000 ndevicename[4:0]sdevicename 1dbh-1dfh become free user memory 1dch ndevicename1 0x0000 1ddh ndevicename2 0x0000 1deh ndevicename3 0x0000 1dfh ndevicename4 0x0000 maxim integrated 89 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
memory locks modelgauge m5 ram registers and all nonvolatile memory locations can be permanently locked to prevent accidental data loss in the application. locking a memory block only prevents future writes to the locations. reading locked locations is still allowed. note that locking a memory location is permanent so carefully choose all desired locks before sending the nv lock com - mand. the sha secret is stored in separate secure non-readable memory. there is a different command for locking the sha secret and its state is not displayed in the lock register. see the sha-256 authentication section for details. once a lock bit is set, it can never be cleared. figure 64 shows which lock bits correspond to which memory blocks of the ic. nv lock [6axxh] this command permanently locks a block or blocks of memory. to set a lock, send 6axxh to the command register where the lower 5 bits of the command determine which locks will be set. figure 64 shows a detailed format of the nv lock command. set each individual lock bit to 1 to lock the corresponding register block. set the lock bit to 0 to do nothing at this time. for example writ - ing 6a02h to the command register sets lock2. writing 6a1fh sets all five locks. writing 6a00h sets no locks. lock1: locks register pages 1ah, 1bh lock2: locks register pages 01h, 02h, 03h, 04h, 0bh, 0dh lock3: locks register pages 18h, 19h lock4: locks register pages 1ch lock5: locks register pages 1dh locking memory blocks prior to sending the lock command the commstat. nverror bit should be cleared and after the command is sent the commstat.nverror bit should be read to deter - mine if the lock command executed successfully. note that locking memory blocks is a permanent operation. the recommended full sequence is: 5) 1) clear commstat.nverror bit. 6) 2) write 0x6axx to the command register 0x060 to lock desired blocks. 7) 3) wait t update for the copy to complete. 8) 4) check the commstat.nverror bit. if set, repeat the process. reading lock state the lock register at address 07fh reports the state of each lock. see figure 65 for the format of the lock regis - ter. if a lock bit is set the corresponding memory block is locked. if the lock bit is cleared the corresponding memory block is unlocked. note that the sha-256 secret lock state cannot be read through this register. x: don't care 1: lock is set 0: lock is clear smart battery compliant operation the MAX17201/max17205 is compliant to the smart battery specification v1.1 when nnvcfg0.ensbs =1. enabling sbs operation does not interfere with normal operation of the ic. sbs formatted registers are accessed at slave address 16h, memory addresses 100h to 17fh using sbs protocols. sbs functionality can be configured using the nsbscfg and ndesignvoltage registers. figure 64. format of lock command figure 65. format of lock register (07fh) maxim integrated 90 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 1 1 0 1 0 1 0 0 0 0 lock5 lock4 lock3 lock2 lock1 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 x x x x x x x x x x x lock5 lock4 lock3 lock2 lock1 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
sbs compliant memory space (max1720x only) the max1720x contains an sbs v1.1 compliant memory space on pages 10h to 17h that can be accessed using the read word, write word, and read block commands at 2-wire slave address 16h. table 23 lists the sbs compli - ant registers. see the sbs 1.1 specification for details of registers at addresses 100h to 12fh. registers with colored boxes in the table are shared between sbs and normal ic functions and are always readable regardless of ic settings. their format is described in the analog measurements sec - tion of the data sheet. all other registers on pages 13h to 17h are described in this section. unnamed register loca - tions are reserved and should not be written to. sfirstused register (136h) this register contains a mirror of the value stored in non - volatile memory address 1d7h. scell1 (13fh)/scell2 (13eh)/scell3 (13dh)/scell4 (13ch) registers these registers contain the same cell voltage information displayed in cell1 (0d8h) to cell4 (0d5h) respectively with sbs compliant formatting. in the scell registers 1 lsb = 1mv giving a full scale range of 0.0v to 65.535v. savgcell1 (14fh)/savgcell2 (14eh)/savgcell3 (14dh)/savgcell4 (14ch) registers these registers contain the same average cell voltage information displayed in avgcell1 (0d4h) to avgcell4 (0d1h) respectively with sbs compliant formatting. in the scell registers 1 lsb = 1mv giving a full scale range of 0.0v to 65.535v. table 23. sbs register space memory map word 10 xh 11 xh 12 xh 13 xh 14 xh 15 xh 16 xh 17 xh 0h smanfct access sfullcap smanfc - trname* smanfctinfo** 1h sremca - palarm sruntte sdevice - name* 2h sremtime - alarm savgtte sdev chemistry* 3h sbatterymode savgttf smanfct - data** 4h satrate scharging - current temp1 5h scharging - voltage inttemp 6h sattte sbattery status sfirstused 7h satrateok scycles avgtemp1 savcap 8h stemperature sdesigncap avginttemp smixcap 9h spack voltage sdesignvolt avgtemp2 ah scurrent sspecinfo bh savg current smanfct - date temp2 ch smaxerror sserial - number** scell4 savgcell4 dh srelsoc scell3 savgcell3 cgtempco eh sabssoc scell2 savgcell2 fh sremcap scell1 savgcell1 *location is read as ascii data using the read block command. **location is read as hexadecimal data using the read block command. maxim integrated 91 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
savcap register (167h) this register contains the same information as the avcap (01fh) register. it is formatted for sbs compliance where 1 lsb = 1.0mah giving a full-scale range of 0.0mah to 65535mah. smixcap register (168h) this register contains the same information as the mixcap (00fh) register. it is formatted for sbs compli - ance where 1 lsb = 1.0mah giving a full-scale range of 0.0mah to 65535mah. smanfctinfo register (170h) the smanfctinfo register is accessed using the sbs pro - tocol read block command. this register is intended to provide custom information, and is outside the sbs 1.1 definition. this register function is not supported in the MAX17201/max17205. nonvolatile sbs register back-up when sbs mode operation is enabled by setting nnvcfg0. ensbs = 1, data from several nonvolatile memory loca - tions is translated into sbs memory space. table 24 lists these translations. note that when performing an sbs read block command, the ic automatically generates the size data byte by counting the number of sequential non-zero data bytes stored in the corresponding non - volatile memory locations. the nonvolatile memory only needs to store the actual data to be read by an sbs read block command. if sbs mode of operation is disabled, these locations become available for general purpose nonvolatile data storage. nsbscfg register (1bbh) register type: special nonvolatile restore: there is no associated restore loca - tion for this register. the nsbscfg register manages settings for sbs mode operation of the ic. if nnvcfg0.ensbs = 0 and sbs mode is not used, this register can be used as general-purpose data storage. figure 66 shows the register format. mecfg: configures smaxerror register output when oper - ating in sbs mode. 00: always report 0% error 01: always report 1% error 10: report actual experienced errror 11: always report 3% error capmd: selects sbatterymode.capmd bit default setting when operating in sbs mode. capmd will reset to 0 every time a pack removal occurs as detected by floating com - munication lines. ndesignvoltage register (1d3h) register type: special nonvolatile restore: there is no associated restore loca - tion for this register the ndesignvoltage register holds a value representing the expected average cell voltage of the design. this value is used for sbs mwh calculations. the ndesign - voltage register has an lsb of 1mv giving a full-scale range of 0mv to 65.535v. table 24. sbs to nonvolatile memory mapping nonvolatile memory address nonvolatile memory register name sbs memory address sbs register name 1d6h nmanfctrdate 1bh smanfctrdate 1d7h nfirstused 36h sfirstused 1cch-1ceh nmanfctrname[2:0] (read block command) smanfctrname 1d8h-1dah nserialnumber[2:0] (read block command) sserialnumber 1dbh-1dfh ndevicename[4:0] (read block command) sdevicename figure 66. nsbscfg (1bbh) format maxim integrated 92 d15 d14 d13 d12 d1 1 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 capmd x x x x x x x x x x x x mecfg x x: don?t care. this bit is undefined and can be logic 0 or 1. www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
ncgain and sense resistor relationship to meet sbs compliance, current and capacity registers in the sbs memory space must have a an lsb bit weight of 1.0ma or 1.0mah. the current gain must be adjusted based on the application sense resistor value to set the proper bit weight. table 25 shows the proper ncgain value to use for the most common-sense resistor values. this is the default register value only. it does not include any off - set trim or custom gain adjustment. note that changing the ncgain register affects the gain reported by the standard modelgauge current and capacity registers. sha-256 authentication authentication is performed using a fips 180-4 compli - ant sha-256 one-way hash algorithm on a 512-bit mes - sage block. the message block consists of a 160-bit secret, a 160-bit challenge and 192 bits of constant data. optionally, the 64-bit rom id replaces 64 of the 192 bits of constant data used in the hash operation. contact maxim for details of the message block organization. the host and the ic both calculate the result based on the mutually known secret. the result of the hash opera - tion is known as the message authentication code (mac) or message digest. the mac is returned by the ic for comparison to the hosts mac. note that the secret is never transmitted on the bus and thus cannot be captured by observing bus traffic. each authentication attempt is initiated by the host system by writing a 160-bit random challenge into the sha memory address space 0c0h to 0c9h. the host then issues the compute mac or compute mac with rom id command. the mac is computed per fips 180-4, and stored in address space 0c0h to 0cfh overwriting the challenge value. note that the results of the authentication attempt are determined by host verification. operation of the ics is not affected by authentication success or failure. authentication procedure figure 67 shows how a host system verifies the authen - ticity of a connected battery. the host first generates a random 160 bit challenge value and writes the challenge to ic memory space 0c0h-0c9h. the host then sends the compute mac with rom id (3500h) or compute mac without rom id (3600h) to the command register 060h and wait t sha for computation to complete. finally, the host reads the mac from memory space 0c0h-0cfh to verify the result. this procedure requires the secret to be maintained on the host side as well as in the battery. the host must perform the same calculations in parallel to verify the battery is authentic. table 25. ncgain register settings to meet sbs compliance sense resistor value ncgain register value corresponding cgain register value 0.0025 0x4000 0x0400 0.005 0x2000 0x0200 0.010 0x1000 0x0100 figure 67. procedure to verify a battery maxim integrated 93 macs match accept battery macs do not match reject battery random challenge generation secret secret mac computation parallel computation verification battery host www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
alternate authentication procedure figure 68 shows an alternative method of battery authen - tication which does not require the host to know the secret. in this method, each host device knows a chal - lenge and mac pair that match the secret stored in an authentic battery, but each host device uses a different pair. this eliminates the need for special hardware on the host side to protect the secret from hardware intrusion. a battery could be cloned for a single host device, but creat - ing a clone battery that works with any host would not be possible without knowing the secret. the authentication process for this method is less com - plex. the host simply writes the challenge to the ic mem - ory space 0c0h-0c9h. the host then sends the compute mac without rom id (3600h) to the command register 060h. note that compute mac with rom id command is not valid for this authentication method. the host then waits t sha for computation to complete and reads the mac from memory space 0c0h-0cfh to verify the result. figure 68. battery authentication without a host-side secret maxim integrated 94 secret mac 1 verification host 1 mac computation challenge 1 pass fail battery secret mac 2 verification host 2 mac computation challenge 2 pass fail battery secret mac n verification host n mac computation challenge n pass fail battery www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
secret management the secret value must be programmed to a known value prior to performing authentication in the application. the secret cannot be written directly. instead, the user must generate a new internal secret by performing a sha com - putation with the old internal secret and a seed value sent as a challenge. to prevent any one entity from knowing the complete secret value, the process can be repeated multiple times by sending additional challenge seeds and performing additional computations. note that secret memory can only be changed a maximum of n secret times including erase operations and nonvola - tile memory updates are not guaranteed. see the n secret write limit in the electrical characteristics table. any secret update operation that fails does not change the secret value stored in the ics, but consumes one of the available limited updates. be careful not to use up all secret memory dur - ing the generation process. maxim strongly recommends permanently locking the secret after it has been generated. single step secret generation the single step secret generation procedure should be used in production environments where the challenge seed value can be kept confidential, for example when there are no oem manufacturing steps or situations where an outside individual or organization would need to know the challenge seed. use the following sequence to program the ics. since the secret cannot be read from the ics, a parallel computation must be performed externally in order the calculate the stored secret. figure 69 shows an example single step secret generation operation. note that new units have their secret value already cleared to all 0s. 1. clear the commstat.nverror bit. 2. write a challenge seed value to the sha memory space 0c0hC0c9h. 3. write compute next secret with rom id 3300h or compute next secret without rom id 3000h to the command register 060h. 4. wait t sha + t update for computation to complete and new secret to be stored. 5. if commstat.nverror is set, return to step 1. otherwise continue. 6. verify the secret has been generated correctly with a test challenge at this time. if verification fails return to step 1. also, see the determining the number of remaining updates section to verify enough non - volatile memory writes remain in order to repeat the process. 7. write lock secret 6000h to the command register 060h. note this operation cannot be reversed. 8. wait t update for secret to lock permanently. figure 69. single step secret generation example maxim integrated 95 battery compute next final secret starting secret cleared to all 0s final secret seed parallel computation www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
multistep secret generation procedure the multistep secret generation procedure should be used in environments where an outside individual or organization would need to know the challenge seed such as oem manufacturing. the multistep procedure is more complicated, but allows a secret to be stored inside the ics without providing any information to an oem manufacturer that could jeopardize secret integrity. figure 70 shows an example where three oem manufacturers are each pro - vided with a seed value for a compute next operation. the final secret value stored inside the ics are known only to the top-level manager who knows all seed values and has performed the computation separately. use the following procedures when generating a multistep secret. note that the secret can only be updated or cleared n secret times total. new units have their secret value already cleared to all 0s. all oems 1. clear the commstat.nverror bit. 2. write challenge seed value to the sha memory space 0c0hC0c9h. 3. write compute next secret with rom id 3300h or compute next secret without rom id 3000h to the command register 060h. 4. wait t sha + t update for computation to complete and new secret to be stored. 5. if commstat.nverror is set, return to step 1. otherwise, continue. 6. verify the secret has been generated correctly with a test challenge at this time. if verification fails return to step 1. also see the determining the number of remaining updates section to verify enough nonvolatile memory writes remain in order to repeat the process. figure 70. multistep secret generation example maxim integrated 96 seed 1 battery compute next middle secret 1 starting secret cleared to all 0s challenge 1 and mac 1 for verification oem 1 seed 2 battery compute next middle secret 2 middle secret 1 challenge 2 and mac 2 for verification oem 2 seed 3 battery compute next final secret middle secret 2 challenge 3 and mac 3 for verification oem 3 seed 1 generation seed 2 generation final secret middle secret 1 computation middle secret 2 computation seed 3 generation top level project manager www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
last oem: 1. follow the procedure in the all oems section for the final secret update. 2. write lock secret 6000h to the command register 060h. note this operation cannot be reversed. 3. wait t update for secret to lock permanently. top level: 1. generate all seed values to provide to oems. 2. perform sha calculations separately to determine what the final secret is after all manufacturing steps. 3. keep final secret value secure. determining the number of remaining updates the internal secret can only be updated or cleared n se - cret times total. the number of remaining updates can be calculated using the following procedure: 1. write 0xe2fe to the command register (060h). 2. wait t recall . 3. read memory address 1e6h. 4. decode address 1e6h data as shown in table 26 . each secret update has redundant indicator flags for reliability. logically or the upper and lower bytes together then count the number of 1s to determine how many updates have already been used. the first update occurs in manu - facturing test to clear the secret memory prior to shipping to the user. authentication commands all sha authentication commands are written to memory address 060h to perform the desired operation. writing the challenge or reading the mac is handled by access - ing the sha memory space on page 0ch through direct write and read operations. compute mac without rom id [3600h] the challenge value must be written to the sha memory space prior to performing a compute mac. this command initiates a sha-256 computation without including the rom id in the message block. instead, the rom id por - tion of the message block is replaced with a value of all 1s. since the rom id is not used, this command allows the use of a master secret and mac response indepen - dent of the rom id. the ics compute the mac in t sha after receiving the last bit of this command. after the mac computation is complete, the host can read the mac from the sha memory space. compute mac with rom id [3500h] the challenge value must be written to the sha memory space prior to performing a compute mac. this command is structured the same as the compute mac without rom id, except that the rom id is included in the message block. with the unique rom id included in the mac com - putation, the mac is unique to each unit. after the mac computation is complete, the host can read the mac from the sha memory space. compute next secret without rom id [3000h] this command initiates a sha-256 computation and uses the resulting mac as the next or new secret. the hash operation is performed with the current 160-bit secret and the new 160-bit challenge. logical 1s are loaded in place of the rom id. the last 160 bits of the mac are used as the new secret value. the host must allow t sha after issu - ing this command for the sha calculation to complete, then wait t update for the new secret value to be stored in nonvolatile memory. during this operation, the sha memory space is not updated. note that the old secret value must be known prior to executing this command in order to calculate what the new secret value is. table 26. number of remaining secret updates address 1e6h data logical or of upper and lower bytes number of updates used number of updates remaining 000000010000000xb 00000001b 1 5 0000001x000000xxb 00000011b 2 4 000001xx00000xxxb 00000111b 3 3 00001xxx0000xxxxb 00001111b 4 2 0001xxxx000xxxxxb 00011111b 5 1 001xxxxx00xxxxxxb 00111111b 6 0 maxim integrated 97 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
compute next secret with rom id [3300h] this command initiates a sha-256 computation and uses the resulting mac as the next or new secret. the hash operation is performed with the current 160-bit secret, the 64-bit rom id, and the new 160-bit challenge. the last 160 bits of the output mac are used as the new secret value. the host must allow t sha after issuing this com - mand for the sha calculation to complete, then wait t up - date for the new secret value to be stored in nonvolatile memory. during this operation, the sha memory space is not updated. note that the old secret value must be known prior to executing this command in order to calcu - late what the new secret value is. clear secret [5a00h] this command sets the 160-bit secret to all 0s. the host must wait t update for the ic to write the new secret value to nonvolatile memory. this command uses up one of the secret write cycles. lock secret [6000h] this command write protects the secret to prevent acci - dental or malicious overwrite of the secret value. the secret value stored in nonvolatile memory becomes per - manent. the host must wait t update for the lock opera - tion to complete. sha-256 lock state is not shown in the lock register. lock state can be verified by reading nonvolatile memory history using the following sequence: 1. send 0xe2fa to the command register (060h) 2. wait for t recall . 3. read memory address 1ech if address 1ech is 0x0000 then the secret is not locked. if address 1ech is anything other than 0x0000 then the secret is permanently locked. device reset there are two levels of reset for the ic. a full reset restores the ics to their power-up state the same as if power had been cycled. a fuel gauge reset resets only the fuel gauge operation without resetting ic hardware. this is useful for testing different configurations without writing nonvolatile memory. use the following sequences to reset the ics. full reset 1. reset ic hardware by writing 000fh to the command register at 060h. 2. wait t por for reset to take affect. 3. reset ic fuel gauge operation by writing 0001h to the config2 register at 0bbh. 4. wait t por for the fuel gauge to reset. fuel gauge reset 1. reset ic fuel gauge operation by writing 0001h to the config2 register at 0bbh. 2. wait t por for the fuel gauge to reset. reset commands there are two commands that can be used to reset either the entire ic or just operation of the fuel gauge. note that the reset fuel gauge command is written to config2 instead of to the command register. hardware reset [000fh to address 060h] send the hardware reset command to the command register to recall all nonvolatile memory into shadow ram and reset all hardware based operations of the ic. this command should always be followed by the reset fuel gauge command to fully reset operation of the ic. fuel gauge reset [0001h to address 0bbh] the fuel gauge reset command resets operation of the ics without restoring nonvolatile memory values into shadow ram. this command allows different configura - tions to be tested without using one of the limited number of nonvolatile memory writes. communication this section covers communication protocols and summa - rizes all special commands used by the ics. the MAX17201/ max17205 communicates over a 2-wire interface using either i 2 c or sbs protocols depending on memory address selected by the host. the max17211/max17215 communi - cates using the maxim 1-wire interface. 2-wire bus system (MAX17201/max17205 only) the MAX17201/max17205 uses a 2-wire bus system to communicate by both standard i 2 c protocol or by sbs smart battery protocol. the slave address used by the host to access the ics determines which protocol is used and what memory locations are available to read or write. the following description applies to both protocols. see the i 2 c and sbs bus system descriptions for specific protocol details. maxim integrated 98 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
hardware confguration the 2-wire bus system supports operation as a slave-only device in a single or multi-slave, and single or multi-master system. up to 128 slave devices may share the bus using 7-bit slave addresses. the 2-wire interface consists of a serial data line (sda) and serial clock line (scl). sda and scl provide bidirectional communication between the ics and a master device at speeds up to 400khz. the ics sda pin operates bi-directionally. when the ics receive data sda operates as an input. when the ic returns data sda operates as an open-drain output with the host sys - tem providing a resistive pull-up. see figure 71 . the ic always operates as a slave device, receiving and trans - mitting data under the control of a master device. the master initiates all transactions on the bus and generates the scl signal, as well as the start and stop bits that begin and end each transaction. i/o signaling the following individual signals are used to build byte level 2-wire communication sequences. bit transfer one data bit is transferred during each scl clock cycle, with the cycle defined by scl transitioning low to high and then high to low. the sda logic level must remain stable during the high period of the scl clock pulse. any change in sda when scl is high is interpreted as a start or stop control signal. bus idle the bus is defined to be idle, or not busy, when no master device has control. both sda and scl remain high when the bus is idle. the stop condition is the proper method to return the bus to the idle state. start and stop conditions the master initiates transactions with a start condition by forcing a high-to-low transition on sda while scl is high. the master terminates a transaction with a stop condition by a low-to-high transition on sda while scl is high. a repeated start condition can be used in place of a stop then start sequence to terminate one transaction and begin another without returning the bus to the idle state. in multimaster systems, a repeated start allows the master to retain control of the bus. the start and stop conditions are the only bus activities in which the sda transitions when scl is high. acknowledge bits each byte of a data transfer is acknowledged with an acknowledge bit (ack) or a no acknowledge bit (nack). both the master and the ic slave generate acknowl - edge bits. to generate an acknowledge, the receiving device must pull sda low before the rising edge of the figure 71. 2-wire bus interface circuitry maxim integrated 99 v pullup rx data tx data rx data tx data rx = receive tx = transmit weak pulldown bus master device 2-wire port r pullup dq/sda od/scl tx clock rx clock weak pulldown www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
acknowledge-related clock pulse (ninth pulse) and keep it low until scl returns low. to generate a no acknowledge, the receiver releases sda before the rising edge of the acknowledge-related clock pulse and leaves sda high until scl returns low. monitoring the acknowledge bits allows for detection of unsuccessful data transfers. an unsuccess - ful data transfer can occur if a receiving device is busy or if a system fault has occurred. in the event of an unsuc - cessful data transfer, the bus master should reattempt communication. if a transaction is aborted mid-byte, the master should send additional clock pulses to force the slave ic to free the bus prior to restarting communication. data order with 2-wire communication, a byte of data consists of 8 bits ordered most significant bit (msb) first. the least significant bit (lsb) of each byte is followed by the acknowledge bit. ic registers composed of multibyte val - ues are ordered least significant byte (lsb) first. slave address a bus master initiates communication with a slave device by issuing a start condition followed by a slave address and the read/write (r/w) bit. when the bus is idle, the ics continuously monitor for a start condition followed by its slave address. when the ics receive a slave address that matches its slave address, they respond with an acknowledge bit during the clock period following the r/w bit. the max1720x supports the slave addresses shown in table 27 . read/write bit the r/w bit following the slave address determines the data direction of subsequent bytes in the transfer. r/w = 0 selects a write transaction, with the following bytes being written by the master to the slave. r/w = 1 selects a read transaction, with the following bytes being read from the slave by the master. bus timing the ic is compatible with any bus timing up to 400khz. see the electrical characteristics table for timing details. no special configuration is required to operate at any speed. figure 72 shows an example of standard 2-wire bus timing. table 27. 2-wire slave addresses slave address protocol address byte range internal memory range accessed 6ch i 2 c 00hCffh 000hC0ffh 16h smbus 00hC7fh 100hC17fh i 2 c 80hCffh 180hC1ffh figure 72. 2-wire bus timing diagram maxim integrated 100 sda scl t f t r t su ; dat t low s t hd ; sta t hd ; dat t f t su ; sta t hd ; sta t su ; sto t r t buf t sp sr p s www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
i 2 c protocols the following 2-wire communication protocols must be used by the bus master to access MAX17201/max17205 memory locations 000h to 1ffh. addresses 000h to 0ffh and from 180h to 1ffh can be read continuously. addresses 100h to 17fh must be read one word at a time. these protocols follow the standard i 2 c specification for communication. i 2 c write data protocol the write data protocol is used to transmit data to the ics at memory addresses from 000h to 1ffh. addresses 000h to 0ffh and 180h and 1ffh can be written as a block. addesses 100h to 17fh must be written one word at a time. the memory address is sent by the bus master as a single byte value immediately after the slave address. the msb of the data to be stored is written immediately after the memory address byte is acknowledged. because the address is automatically incremented after the least significant bit (lsb) of each word received by the ic, the msb of the data at the next memory address can be writ - ten immediately after the acknowledgment of the lsb of data at the previous address. the master indicates the end of a write transaction by sending a stop or repeated start after receiving the last acknowledge bit. if the bus master continues an autoincremented write transaction beyond address 0ffh or 1ffh, the ics ignore the data. data is also ignored on writes to read-only addresses but not reserved addresses. do not write to reserved address locations. see figure 73 for an example write data com - munication sequence. i 2 c read data protocol the read data protocol is used to transmit data from ic memory locations 000h to 1ffh . addresses 000h to 0ffh and 180h to 1ffh can be read as a block. addresses 100h to 17fh must be read as individual words. the mem - ory address is sent by the bus master as a single byte value immediately after the slave address. immediately following the memory address, the bus master issues a repeated start followed by the slave address. the MAX17201/max17205 acknowlege the address and begin transmitting data. a word of data is read as two separate bytes that the master must ack. because the address is automatically incremented after the least sig - nificant bit (lsb) of each word received by the ic, the msb of the data at the next memory address can be read immediately after the acknowledgment of the lsb of data at the previous address. the master indicates the end of a read transaction by sending a nack followed by a stop. if the bus master continues an autoincremented read transaction beyond memory address 0ffh or 1ffh, the ic transmits all 1s until a nack or stop is received. data from reserved address locations is undefined. see figure 74 for an example read data communication sequence. figure 73. example i 2 c write data communication sequence maxim integrated 101 write data communication protocol start slave address w/r =1 ack memory address ack data0 lsb ack data0 msb ack data1 lsb ack data n msb ack stop example word write to i 2 c command register address 060h start 6ch (slave address) ack ack command lsb ack command msb ack stop 60h (memory address) = slave transmission = host transmission www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
sbs protocols the following 2-wire communication protocols must be used by the bus master to access MAX17201/max17205 memory locations 100h to 17fh. these protocols follow the smart battery specification for communication. sbs write word protocol the write word protocol is used to transmit data to the ic memory addresses between 100h and 17fh that do not require the write block protocol. the memory address is sent by the bus master as a single-byte lsb value imme - diately after the slave address, the msb of the address is omitted. the lsb of the data to be stored is written immediately after the memory address byte is acknowl - edged, followed by the msb. a pec byte can follow the data word, but the data word is written without checking the validity of the pec. the master indicates the end of a write transaction by sending a stop or repeated start after receiving the last acknowledge bit. data is ignored on writes to read-only addresses but not reserved addresses. do not write to reserved address locations. the write word protocol should not be used to write to addresses supported by the write block protocol, use write block at these locations instead. see figure 75 for an example write word communication sequence. figure 74. example i 2 c read data communication sequence figure 75. example sbs write word communication sequence maxim integrated 102 i 2 c read data communication protocol start slave address w/r = 1 ack memory address ack data 0 lsb ack data 0 msb ack data 1 lsb ack data n msb nack stop example read data of current and avgcurrent registers addresses 00ahC00bh = slave transmission = host transmission start (repeated) slave address w / r = 0 ack 0 a h (memory address) start ack ack current lsb ack current msb ack stop start (repeated) ack 6 c h (slave write address) 6 dh (slave read address) avgcurrent lsb ack avgcurrent msb nack example read data of inttemp registers address 135h 35 h (memory address) start ack ack inttemp lsb ack inttemp msb stop start (repeated) ack 16 h (slave write address) 17 h (slave read address) nack sbs write word communication protocol start slave address w / r = 1 ack memory address ack data lsb ack data msb ack pec (optional) ack stop = slave transmission = host transmission example word write to sbs atrate register address 104h start 16 h (slave address) ack ack data lsb ack data msb 04 h (memory address) ack stop ack pec (optional) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
sbs read word protocol the read word protocol is used to read data from the ic at memory addresses between 100h and 17fh. the memory address is sent by the bus master as a single byte lsb value immediately after the slave address, the msb of the address is ignored. the lsb of the data is read immediately after the memory address byte is acknowledged, followed by the msb. a pec byte fol - lows the data word. the master indicates the end of a write transaction by sending a stop or repeated start after not acknowledging the last received byte. data from reserved address locations is undefined. the read word protocol should not be used to read from addresses sup - ported by the read block protocol, use read block at these locations instead. see figure 76 for an example read word communication sequence. sbs write block protocol the sbs write block protocol is not supported by the MAX17201/max17205. use the write data command sequence to the corresponding nonvolatile memory locations to update write/read block register locations. see table 24 . sbs read block protocol the read block protocol is similar to the read word pro - tocol except the master reads multiple words of data at once. a data size byte is transmitted by the ics immedi - ately after the memory address byte and before the first byte of data to be read. the read block protocol is only supported at the register locations shown in table 28 . pec error checking is provided by the read block proto - col if nnvcfg0.ensbs = 1. figure 77 shows an example read block communication sequence. table 28. valid sbs read block registers address register size byte max value format 0120h smanfctname 0ah ascii string 0121h sdevicename 0ch ascii string 0122h sdevchemistry 05h ascii string 0123h smanfctdata 1ah hexadecimal 011ch sserialnumber 08h hexadecimal 0170h smanfctinfo 18h hexadecimal figure 76. example sbs read word communication sequence maxim integrated 103 sbs read word communication protocol start slave address w/r = 1 ack memory address ack data lsb ack data msb nack stop = slave transmission = host transmission start (repeated) slave address w/r = 0 ack ack pec (optional) example word read of sbs stemperature register address 108h 08h (memory address) start ack ack stemperature lsb ack stemperature msb start (repeated) ack 16h (slave write address) 17h (slave read address) nack stop ack pec (optional) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
packet error checking sbs read functions support packet error checking (pec) if nnvcfg0.ensbs is enabled. the host system is respon - sible for verifying the crc value it receives and taking action as a result. sbs write functions accept a pec byte but complete the write function regardless of the value of the pec. the crc can be generated by the host using a circuit consisting of a shift register and xor gates as shown in figure 78 , or it can be generated in software using the polynomial x 8 + x 2 + x 1 + 1. see the smart battery compliant operation section for more information. 1-wire bus system (max17211/max17215 only) the max17211/max17215 communicate to a host through a maxim 1-wire interface. the 1-wire bus is a system that has a single bus master and one or more slaves. a multidrop bus is a 1-wire bus with multiple slaves, while a single-drop bus has only one slave device. in all instances, these ics are slave devices. the bus master is typically a microprocessor in the host system. the discussion of this bus system consists of five topics: 64-bit net address, crc generation, hardware configura - tion, transaction sequence, and 1-wire signaling. figure 77. example sbs read block communication sequence figure 78. pec crc generation block diagram maxim integrated 104 sbs read block communication protocol start slave address w/r = 1 ack memory address ack data 0 ack data ( size-2) nack stop example block read of sbs devchemistry register address 122h 22 h (memory address) = slave transmission = host transmission start (repeated) slave address w / r = 0 ack start ack ack ack data0 start (repeated) ack 16 h (slave write address) 17 h (slave read address) ack pec ( optional) size ack 05 h (size) ack data 3 nack stop ack pec ( optional) msb xor input xor xor lsb www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
hardware confguration because the 1-wire bus has only a single line, it is impor - tant that each device on the bus be able to drive it at the appropriate time. to facilitate this, each device attached to the 1-wire bus must connect to the bus with open-drain or three-state output drivers. the max17211/max17215 use an open-drain output driver as part of the bidirectional interface circuitry shown in figure 79 . if a bidirectional pin is not available on the bus master, separate output and input pins can be connected together. communication speed is controlled by the od/scl pin. connect od/scl to pack- to enable communication at standard speed. connect od/scl to the reg3 pin to enable communica - tion at overdrive speed. the 1-wire bus must have a pull-up resistor on the host side of the bus. a value of between 2k and 5k is rec - ommended for most applications. the idle state for the 1-wire bus is logic high. if, for any reason, a bus transac - tion must be suspended, the bus must be left in the idle state to properly resume the transaction later. note that if the bus is left low for more than t low0 , slave devices on the bus begin to interpret the low period as a reset pulse, effectively terminating the transaction. figure 79. 1-wire bus interface circuitry maxim integrated 105 v pullup rx tx rx tx rx = receive tx = transmit weak pulldown bus master device 1 - w ire port r pullup dq / sda overdrive timing 0 . 47 f od / scl v pullup rx tx rx tx rx = receive tx = transmit weak pulldown bus master device 1 - w ire port r pullup dq / sda standard timing od / scl reg 3 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
64-bit net address (rom id) the 1-wire net address is 64 bits in length. the term net address is synonymous with the rom id or rom code terms used in other 1-wire documentation. the value of the net address is stored in nonvolatile memory and can - not be changed. in a 1-wire standard net address, the first eight bits of the net address are the 1-wire family code. this value is the same for all ics of the same type. the next 48 bits are a unique serial number. the last eight bits are a cyclic redundancy check (crc) of the first 56 bits. table 29 details the net address data format. the 64-bit net address and the 1-wire i/o circuitry built into the device enable the max17211/max17215 to communicate through the 1-wire protocol detailed in this data sheet. i/o signaling the 1-wire bus requires strict signaling protocols to ensure data integrity. the four protocols used by the max17211/max17215 are as follows: the initialization sequence (reset pulse followed by presence pulse), write 0, write 1, and read data. the bus master initiates all sig - naling except for the presence pulse. reset time slot the initialization sequence required to begin any com - munication with the max17211/max17215 is shown in figure 80 . the bus master transmits (tx) a reset pulse for t rstl . the bus master then releases the line and goes into receive mode (rx). the 1-wire bus line is then pulled high by the pullup resistor. after detecting the rising edge on the dq pin, the max17211/max17215 waits for t pdh and then transmits the presence pulse for t pdl . a presence pulse following a reset pulse indicates that the max17211/ max17215 is ready to accept a net address command. write time slots table 29. 1-wire net address format msb: 8-bit crc 48-bit serial number lsb: 8-bit family code (26h) figure 80. 1-wire initialization sequence maxim integrated 106 t rstl t rsth t pdh v pullup gnd line type legend : bus master active low slave ic active low both bus master and slave ic resistor pullup active low t pdl www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
a write-time slot is initiated when the bus master pulls the 1-wire bus from a logic-high (inactive) level to a logic-low level. there are two types of write-time slots: write 1 and write 0. all write-time slots must be t slot in duration with a 1s minimum recovery time, t rec , between cycles. the max17211/max17215 samples the 1-wire bus line between t low1_max and t low0_min after the line falls. if the line is high when sampled, a write 1 occurs. if the line is low when sampled, a write 0 occurs. the sample win - dow is illustrated in figure 81 . for the bus master to gen - erate a write-1 time slot, the bus line must be pulled low and then released, allowing the line to be pulled high less than t rdv after the start of the write time slot. for the host to generate a write 0 time slot, the bus line must be pulled low and held low for the duration of the write-time slot. figure 81. 1-wire write and read time slots maxim integrated 107 write 0 slot write 1 slot t slot t low0 t slot t rec t low1 v pullup gnd device sample window min typ max 15s 2s 15s 30s 1s 3s device sample window min typ max 15s 2s 15s 30s 1s 3s overdrive standard mode > 1s read data slot data = 0 t slot 15s t slot t rec v pullup gnd master sample window t rdv 15s master sample window > 1s data = 1 overdrive standard mode 2s 2s line type legend : bus master active low slave ic active low both bus master and slave ic active low resistor pullup t rdv www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
read time slots a read-time slot is initiated when the bus master pulls the 1-wire bus line from a logic-high level to a logic-low level. the bus master must keep the bus line low for at least 1s and then release it to allow the max17211/15 to present valid data. the bus master can then sample the data t rdv from the start of the read-time slot. by the end of the read-time slot, the max17211/15 releases the bus line and allows it to be pulled high by the external pullup resistor. all read-time slots must be t slot in duration with a 1s minimum recovery time, t rec , between cycles. see figure 81 and the timing specifications in the electrical characteristics table for more information. transaction sequence the protocol for accessing the max17211/max17215 through the 1-wire port is as follows: initialization net address command function command(s) data transfer (not all commands have data transfer) net address commands once the bus master has detected the presence of one or more slaves, it can issue one of the net address com - mands described in the following paragraphs. the name of each net address command (rom command) is followed by the 8-bit op code for that command in square brackets. read net address [33h] this command allows the bus master to read the max17211/max17215s 1-wire net address. this com - mand can only be used if there is a single slave on the bus. if more than one slave is present, a data collision occurs when all slaves try to transmit at the same time (open-drain produces a wired-and result). match net address [55h] this command allows the bus master to specifically address one max17211/max17215 on the 1-wire bus. only the addressed max17211/max17215 respond to any subsequent function command. all other slave devices ignore the function command and wait for a reset pulse. this command can be used with one or more slave devices on the bus. skip net address [cch] this command saves time when there is only one max17211/15 on the bus by allowing the bus master to issue a function command without specifying the address of the slave. if more than one slave device is present on the bus, a subsequent function command can cause a data collision when all slaves transmit data at the same time. search net address [f0h] this command allows the bus master to use a process of elimination to identify the 1-wire net addresses of all slave devices on the bus. the search process involves the repetition of a simple three-step routine: read a bit, read the complement of the bit, then write the desired value of that bit. the bus master performs this simple three-step routine on each bit location of the net address. after one complete pass through all 64 bits, the bus master knows the address of one device. the remaining devices can then be identified on additional iterations of the process. refer to chapter 5 of the book of ibutton ? standards for a comprehensive discussion of a net address search, including an actual example. 1-wire functions after successfully completing one of the net address com - mands, the bus master can access the features of the max17211/max17215 with either a read data or write data function command described in the following paragraphs. any other ic operation such as a compute mac operation is accomplished by writing to the command register. see the summary of commands section for details. ibutton is a registered trademark of maxim integrated products, inc. maxim integrated 108 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
read data [69h, ll, hh] this command reads data from the max17211/max17215 starting at memory address hhll. any memory address from 0000h to 01ffh is a valid starting address. the lsb of the data in address hhll is available to be read imme - diately after the msb of the address has been entered. because the address is automatically incremented after the msb of each byte is received, the lsb of the data at address hhll+ 1 is available to be read immediately after the msb of the data at address hhll. if the bus master continues to read beyond address 01ffh, data is will be undefined. addresses labeled reserved in the memory map contain undefined data values. the read data com - mand can be terminated by the bus master with a reset pulse at any bit boundary. reads from nonvolatile memo - ry addresses return the data in the shadow ram. a recall data command is required to transfer data from nonvola - tile memory to the shadow ram. see the summary of commands section for more details. see figure 82 for an example read data communication sequence. write data [6ch, ll, hh] this command writes data to the max17211/15 starting at memory address hhll. any memory address from 0000h to 01ffh is a valid starting address. the lsb of the data to be stored at address hhll can be written immediately after the msb of address has been entered. because the address is automatically incremented after the msb of each byte is written, the lsb to be stored at address hhll + 1 can be written immediately after the msb to be stored at address hhll. if the bus master continues to write beyond address 01ffh, the data is ignored by the ic. writes to read-only addresses and locked memory blocks are ignored. do not write to reserved address loca - tions. incomplete bytes are not written. writes to unlocked nonvolatile memory addresses modify the shadow ram. a copy nv block command is required to transfer data from the shadow ram to nonvolatile memory. see the summary of commands section for more details. see figure 82 for an example write data communication sequence. figure 82. example 1-wire communication sequences maxim integrated 109 example read of temp and vcell registers address 0008hC0009h = slave transmission = host transmission reset presence pulse cc h (skip net address) 69 h (read data command) 08 h (address lsb) 00 h (address msb) temp lsb temp msb vcell lsb vcell msb 1-wire write data protocol reset presence pulse cc h (or other net address command) example write of atrate register address 0004h 6 ch (write data command) memory address lsb memory address msb data0 lsb data 0 msb data 1 lsb data n msb reset presence pulse cc h (skip net address) 6 ch (write data command) 04 h (address lsb) 00 h (address msb) atrate lsb atrate msb 1 -wire read data protocol reset presence pulse cc h (or other net address command) 69h (read data command) memory address lsb memory address msb data0 lsb data 0 msb data 1 lsb data n msb example read of net address reset presence pulse 33 h (read net address) net address lsb (family code) net address 1 net address 2 net address 3 net address 4 net address 5 net address 6 net address msb (crc) www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
summary of commands any operation other than writing or reading a memory location is executed by writing the appropriate command to the command or config2 registers. table 30 lists all function commands understood by the max1720x/ max1721x. for both 1-wire and 2-wire communication, the function command must be written to the command (060h) or config2 (0bbh) registers. device commands are described in detail in their respective sections of the data sheet. table 30. all function commands command type register hex description compute mac without rom id sha 060h 3600h computes hash operation of the message block with logical 1s in place of the rom id. compute mac with rom id sha 060h 3500h computes hash operation of the message block including the rom id. compute next secret without rom id sha 060h 3000h computes hash operation of the message block with logical 1s in place of the rom id. the result is then stored as the new secret. compute next secret with rom id sha 060h 3300h computes hash operation of the message block includ - ing the rom id. the result is then stored as the new secret. clear secret sha 060h 5a00h resets the sha-256 secret to a value of all 0s lock secret sha 060h 6000h permanently locks the sha-256 secret. copy nv block memory 060h e904h copies all shadow ram locations to nonvolatile memory at the same time. nv recall memory 060h e001h recalls all nonvolatile memory to ram. history recall memory 060h e2xxh recalls a page of nonvolatile memory history into ram page 1eh. nv lock memory 060h 6axxh permanently locks an area of memory. see the lock section for details. hardware reset reset 060h 000fh recalls nonvolatile memory into ram and resets the ic hardware. fuel gauge operation is not reset. fuel gauge reset reset 0bbh 0001h restarts the fuel gauge operation without affecting nonvolatile shadow ram settings. maxim integrated 110 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
appendix a: reading history data psuedo-code example the following psuedo-code can be used as a reference for reading history data from the ic. the code first reads all flag information, tests all flag information, then reads all valid history data into a two-dimensional array. afterwards, the historylength variable will indicate the depth of the history array data. int writeflags[26]; int validflags[26]; boolean pagegood[203]; int historydata[203][16]; int historylength; int word, position, flag1, flag2, flag3, flag4; //read all flag information from the ic writecommand(0xe2fb); wait(t recall ); writeflags[0] = readdata(0x1e1); writeflags[1] = readdata(0x1e2); writeflags[2] = readdata(0x1e3); writeflags[3] = readdata(0x1e4); writeflags[4] = readdata(0x1e5); writeflags[5] = readdata(0x1e6); writeflags[6] = readdata(0x1e7); writeflags[7] = readdata(0x1e8); writeflags[8] = readdata(0x1e9); writeflags[9] = readdata(0x1ea); writeflags[10] = readdata(0x1eb); writeflags[11] = readdata(0x1ec); writeflags[12] = readdata(0x1ed); writeflags[13] = readdata(0x1ee); writeflags[14] = readdata(0x1ef); writecommand(0xe2fc); wait(t recall ); writeflags[15] = readdata(0x1e0); writeflags[16] = readdata(0x1e1); writeflags[17] = readdata(0x1e2); writeflags[18] = readdata(0x1e3); writeflags[19] = readdata(0x1e4); writeflags[20] = readdata(0x1e5); writeflags[21] = readdata(0x1e6); writeflags[22] = readdata(0x1e7); writeflags[23] = readdata(0x1e8); maxim integrated 111 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
writeflags[24] = readdata(0x1e9); writeflags[25] = readdata(0x1ea); validflags[0] = readdata(0x1eb); validflags[1] = readdata(0x1ec); validflags[2] = readdata(0x1ed); validflags[3] = readdata(0x1ee); validflags[4] = readdata(0x1ef); writecommand(0xe2fd); wait(t recall ); validflags[5] = readdata(0x1e0); validflags[6] = readdata(0x1e1); validflags[7] = readdata(0x1e2); validflags[8] = readdata(0x1e3); validflags[9] = readdata(0x1e4); validflags[10] = readdata(0x1e5); validflags[11] = readdata(0x1e6); validflags[12] = readdata(0x1e7); validflags[13] = readdata(0x1e8); validflags[14] = readdata(0x1e9); validflags[15] = readdata(0x1ea); validflags[16] = readdata(0x1eb); validflags[17] = readdata(0x1ec); validflags[18] = readdata(0x1ed); validflags[19] = readdata(0x1ee); validflags[20] = readdata(0x1ef); writecommand(0xe2fe); wait(t recall ); validflags[21] = readdata(0x1e0); validflags[22] = readdata(0x1e1); validflags[23] = readdata(0x1e2); validflags[24] = readdata(0x1e3); validflags[25] = readdata(0x1e4); //determine which history pages contain valid data for loop = 0 to 202 { maxim integrated 112 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
word = (int)( loop/8 ); position = loop % 8 ; //remainder flag1 = (writeflags[word] >> position) & 0x0001; flag2 = (writeflags[word] >> (position+8)) & 0x0001; flag3 = (validflags[word] >> position) & 0x0001; flag4 = (validflags[word] >> (position+8)) & 0x0001; if (flag1 || flag2) && (flag3 || flag4) pagegood[loop] = true; else pagegood[loop] = false; } //read all the history data from the ic historylength = 0; for loop = 0 to 202 { if(pagegood[loop]) == true { sendcommand(0xe226 + loop); wait(t recall ); historydata[historylength][0] = readdata(0x1e0); ... historydata[historylength][15] = readdata(0x1ef); historylength++; } } maxim integrated 113 www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
+denotes a lead(pb)-free/rohs-compliant package. t = tape and reel. *ep = exposed pad. **00e or t0e indicates ic supports ez performance model only. no custom battery characterization. part cell count interface temp range pin-package MAX17201g+ 1s i 2 c -40c to +85c 14 tdfn-ep* MAX17201g+t 1s i 2 c -40c to +85c 14 tdfn-ep* MAX17201g+00e** 1s i 2 c -40c to +85c 14 tdfn-ep* MAX17201g+t0e** 1s i 2 c -40c to +85c 14 tdfn-ep* max17205g+ > 1s i 2 c -40c to +85c 14 tdfn-ep* max17205g+t > 1s i 2 c -40c to +85c 14 tdfn-ep* max17205g+00e** > 1s i 2 c -40c to +85c 14 tdfn-ep* max17205g+t0e** > 1s i 2 c -40c to +85c 14 tdfn-ep* max17211g+ 1s 1-wire -40c to +85c 14 tdfn-ep* max17211g+t 1s 1-wire -40c to +85c 14 tdfn-ep* max17211g+00e** 1s 1-wire -40c to +85c 14 tdfn-ep* max17211g+t0e** 1s 1-wire -40c to +85c 14 tdfn-ep* max17215g+ > 1s 1-wire -40c to +85c 14 tdfn-ep* max17215g+t > 1s 1-wire -40c to +85c 14 tdfn-ep* max17215g+00e** > 1s 1-wire -40c to +85c 14 tdfn-ep* max17215g+t0e** > 1s 1-wire -40c to +85c 14 tdfn-ep* MAX17201x+ 1s i 2 c -40c to +85c 15 wlp MAX17201x+t 1s i 2 c -40c to +85c 15 wlp MAX17201x+00e** 1s i 2 c -40c to +85c 15 wlp MAX17201x+t0e** 1s i 2 c -40c to +85c 15 wlp max17205x+ > 1s i 2 c -40c to +85c 15 wlp max17205x+t > 1s i 2 c -40c to +85c 15 wlp max17205x+00e** > 1s i 2 c -40c to +85c 15 wlp max17205x+t0e** > 1s i 2 c -40c to +85c 15 wlp max17211x+ 1s 1-wire -40c to +85c 15 wlp max17211x+t 1s 1-wire -40c to +85c 15 wlp max17211x+00e** 1s 1-wire -40c to +85c 15 wlp max17211x+t0e** 1s 1-wire -40c to +85c 15 wlp max17215x+ > 1s 1-wire -40c to +85c 15 wlp max17215x+t > 1s 1-wire -40c to +85c 15 wlp max17215x+00e** > 1s 1-wire -40c to +85c 15 wlp max17215x+t0e** > 1s 1-wire -40c to +85c 15 wlp maxim integrated 114 ordering information www.maximintegrated.com MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication
revision number revision date description pages changed 0 2/16 initial release 1 7/16 updated general description , simplifed block diagram , absolute maximum ratings , package information , electrical characteristics table, pin confguration , pin descrip - tion , functional diagram , single-cell/typical operating circuit (MAX17201/max17211 only) section, figure 1, multicell typical operating circuits (max17205/max17215 only) , figure 2, figure 3, figure 6, cell balancing current section, current measure - ment section, ordering information , and removed appendix b: layout guidelines , fruuhfwhgdgguhvvorfdwlrvzkhuhphprudvduhuhdgfruuhfwhgexpsxpehu and added future product references 1, 2, 13C16, 18, 23, 24, 26C28, 47C49, 68, 69, 72, 84, 85, 97, 98, 111C114 2 8/16 updated table 22, removed future product references 87, 115 ? 2016 maxim integrated products, inc. g 115 revision history maxim integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a maxim integrated product. no circuit patent licenses are implied. maxim integrated reserves the right to change the circuitry and specifcations without notice at any time. the parametric values (min and max limits) shown in the electrical characteristics table are guaranteed. other parametric values quoted in this data sheet are provided for guidance. maxim integrated and the maxim integrated logo are trademarks of maxim integrated products, inc. MAX17201/max17205/ max17211/max17215 stand-alone modelgauge m5 fuel gauge with sha-256 authentication for pricing, delivery, and ordering information, please contact maxim direct at 1-888-629-4642, or visit maxim integrateds website at www.maximintegrated.com.


▲Up To Search▲   

 
Price & Availability of MAX17201

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X